一键获取所有TextBlock控件的Name属性
我用的是WPF做的窗口,在主窗口上有五个TextBlock控件和两个Button按钮,第一个Button按钮点击之后弹出一个对话框,显示出所有TextBlock控件的Name值,第二个Button按钮点击之后将所有TextBlock控件的背景色改为红色。求两个单击事件的后台代码怎么写?
我在网上找过类似的代码,不过要求跟我的不太一样,好多变量名我也不知道意思,还是只好问了,下面是我的前台代码:
WPF C# foreach
<Grid x:Name="LayoutRoot">
<TextBlock Name="tt" Margin="78,77,98,196" TextWrapping="Wrap" Foreground="#FFFB240F" FontSize="64">
<Run Language="zh-cn" Text="Hello World!"/></TextBlock>
<TextBlock Height="23" HorizontalAlignment="Left" Margin="30,179,0,0" Name="textBlock1"
Text="TextBlock1" VerticalAlignment="Top" Width="100" />
<TextBlock Height="23" HorizontalAlignment="Left" Margin="136,179,0,0" Name="textBlock2"
Text="TextBlock2" VerticalAlignment="Top" Width="100" />
<TextBlock Height="23" HorizontalAlignment="Left" Margin="291,179,0,0" Name="textBlock3"
Text="TextBlock3" VerticalAlignment="Top" Width="100" />
<TextBlock Height="23" HorizontalAlignment="Left" Margin="420,179,0,0" Name="textBlock4"
Text="TextBlock4" VerticalAlignment="Top" Width="100" />
<Button x:Name="get" Content="Get" Margin="102,0,411,45" VerticalAlignment="Bottom" Height="25" Width="65" Click="get_Click" />
<Button x:Name="change" Content="Change" Width="65" Height="25" Click="change_Click" Margin="185,291,328,45" />
</Grid>
[解决办法]
string str="";
foreach (UIElement element in LayoutRoot.Children)
{
if (element is TextBlock)
{
TextBlock current = ((TextBlock)element);
str+=current.Name+"\r\n";
}
}
MessageBox.Show(str);