2015-06-30 41 views
4

是否可以设置多个TextBlockText属性,而无需分别调用每个属性?是否可以遍历它们?设置多个文本块的文本属性

就像下面的例子:

<TextBlock x:Name="textblock_a" Text="Original text"/> 
<TextBlock x:Name="textblock_b" Text="Original text"/> 

<TextBlock x:Name="textblock_a" Text="Modified text"/> 
<TextBlock x:Name="textblock_b" Text="Modified text"/> 
+0

[WPF:如何循环浏览窗口中的所有控件?](http://stackoverflow.com/questions/874380/wpf-how-do-i-loop-through-the-all -controls-in-a-window) – Sinatr

+1

将他们的'Text'属性绑定到单个视图模型属性。 – Clemens

+0

@Sinatr我会经历,谢谢 –

回答

3

也许最简单的方法:

foreach(var item in new[] {textblock_a, textblock_b}) 
    item.Text = "Modified text"; 

PS:我不会用这个词属性不提xamlText财产

+0

谢谢,解决了我的问题 –

3

这样做的WPF方式是通过使用绑定。

作为状态HERE(简单示例),您可以将TextBlocksText值绑定到相同的属性。

不要忘记INotifyPropertyChanged所以当字符串发生变化时所有内容都会更新。