Mega Code Archive

 
Categories / C# / WPF
 

Search for an element by using Panel FindName()

<StackPanel Name="root"   xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"   xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"   x:Class="WpfApplication1.FEFindName">   <StackPanel.Resources>       <Style TargetType="{x:Type Button}">         <Setter Property="Height" Value="20"/>         <Setter Property="Width" Value="250"/>         <Setter Property="HorizontalAlignment" Value="Left"/>       </Style>       <Style TargetType="{x:Type TextBlock}">         <Setter Property="HorizontalAlignment" Value="Left"/>         <Setter Property="FontSize" Value="20"/>       </Style>   </StackPanel.Resources>   <Button Click="Find">Find element with the ID "dog" and change color</Button>   <StackPanel Name="stackPanel">     <TextBlock Name="cat">Cat</TextBlock>     <TextBlock Name="dog">Dog</TextBlock>     <TextBlock Name="fish">Fish</TextBlock>       </StackPanel> </StackPanel> //File:Window.xaml.cs using System; using System.Windows; using System.Windows.Controls; using System.Windows.Media; namespace WpfApplication1 {     public partial class FEFindName {         void Find(object sender, RoutedEventArgs e)         {             object wantedNode = stackPanel.FindName("dog");             if (wantedNode is TextBlock)             {                 TextBlock wantedChild = wantedNode as TextBlock;                 wantedChild.Foreground = Brushes.Blue;             }         }     } }