日期:2014-05-17  浏览次数:20927 次

一键获取所有TextBlock控件的Name属性
我用的是WPF做的窗口,在主窗口上有五个TextBlock控件和两个Button按钮,第一个Button按钮点击之后弹出一个对话框,显示出所有TextBlock控件的Name值,第二个Button按钮点击之后将所有TextBlock控件的背景色改为红色。求两个单击事件的后台代码怎么写?
我在网上找过类似的代码,不过要求跟我的不太一样,好多变量名我也不知道意思,还是只好问了,下面是我的前台代码:

<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>
WPF C# foreach

------解决方案--------------------
string str="";
 foreach (UIElement element in LayoutRoot.Children)
            {
                if (element is TextBlock)
                {
                    TextBlock current = ((TextBlock)element);
                    str+=current.Name+"\r\n";
                }
            }
MessageBox.Show(str);