Clear locally set values and restore the default values of dependency properties : UI Element « Windows Presentation Foundation « VB.Net






Clear locally set values and restore the default values of dependency properties

Clear locally set values and restore the default values of dependency properties
     
<StackPanel Name="root"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  x:Class="WpfApplication1.DPClearValue">
    <StackPanel.Resources>
      <Style TargetType="Button">
        <Setter Property="Height" Value="20"/>
        <Setter Property="Width" Value="250"/>
        <Setter Property="HorizontalAlignment" Value="Left"/>
      </Style>
      <Style TargetType="Ellipse">
        <Setter Property="Height" Value="50"/>
        <Setter Property="Width" Value="50"/>
        <Setter Property="Fill" Value="Black"/>
      </Style>
      <Style TargetType="Rectangle">
        <Setter Property="Height" Value="50"/>
        <Setter Property="Width" Value="50"/>
        <Setter Property="Fill" Value="Blue"/>
      </Style>
      <Style TargetType="Polygon">
        <Setter Property="Points" Value="10,60 60,60 60,10"/>
        <Setter Property="Fill" Value="Blue"/>
      </Style>
      <Style x:Key="ShapeStyle" TargetType="Shape">
        <Setter Property="Fill" Value="Red"/>
      </Style>
    </StackPanel.Resources>
  <DockPanel Name="myDockPanel">
    <Ellipse Height="100"  Width="100" Style="{StaticResource ShapeStyle}"/>
    <Rectangle Height="100" Width="100"  Style="{StaticResource ShapeStyle}" />
    <Polygon Points="10,110 110,110 110,10" Style="{StaticResource ShapeStyle}"/>
  </DockPanel>
    <Button Name="RedButton" Click="MakeEverythingRed">Make everything red</Button>
    <Button Name="ClearButton" Click="RestoreDefaultProperties">
  Clear local values
  </Button>

</StackPanel>

//File:Window.xaml.vb


Imports System.Windows
Imports System.Collections
Imports System.Windows.Media
Imports System.Windows.Controls
Imports System.Windows.Shapes

Namespace WpfApplication1
  Public Partial Class DPClearValue
    Private Sub RestoreDefaultProperties(sender As Object, e As RoutedEventArgs)
      Dim uic As UIElementCollection = myDockPanel.Children
      For Each uie As Shape In uic
        Dim locallySetProperties As LocalValueEnumerator = uie.GetLocalValueEnumerator()
        While locallySetProperties.MoveNext()
          Dim propertyToClear As DependencyProperty = DirectCast(locallySetProperties.Current.[Property], DependencyProperty)
          If Not propertyToClear.[ReadOnly] Then
            uie.ClearValue(propertyToClear)
          End If
        End While
      Next
    End Sub
    Private Sub MakeEverythingRed(sender As Object, e As RoutedEventArgs)
      Dim uic As UIElementCollection = myDockPanel.Children
      For Each uie As Shape In uic
        uie.Fill = New SolidColorBrush(Colors.Red)
      Next
    End Sub
  End Class
End Namespace

   
    
    
    
    
  








Related examples in the same category

1.Find enclosure componentFind enclosure component
2.PresentationTraceSources.SetTraceLevel(binding,PresentationTraceLevel.High);PresentationTraceSources.SetTraceLevel(binding,PresentationTraceLevel.High);
3.UI Element Mouse Clicked EventsUI Element Mouse Clicked Events
4.Programmatically Extract an Element's Style with DefaultStyleKeyPropertyProgrammatically Extract an Element's Style with DefaultStyleKeyProperty
5.Print Logical TreePrint Logical Tree
6.Print Visual TreePrint Visual Tree
7.About Dialog with Tree WalkingAbout Dialog with Tree Walking
8.Changing graphical elementsChanging graphical elements
9.UIElement CountUIElement Count
10.Use Linq to get control from a containerUse Linq to get control from a container
11.Find inner visual elementFind inner visual element
12.Logical Visual Tree SampleLogical Visual Tree Sample
13.Point Hit Test with VisualTreeHelper.HitTestPoint Hit Test with VisualTreeHelper.HitTest
14.Change the Visibility property of a UIElement.Change the Visibility property of a UIElement.
15.Mixing graphics with Control ElementsMixing graphics with Control Elements