如何更改特定标签';s带有foreach循环的文本
本文关键字:带有 foreach 循环 文本 何更改 标签 | 更新日期: 2023-09-27 18:29:54
我以前尝试过:
string st = "Unit";
foreach (Label lb in tabControl1.Items)
{
if (st.IndexOf(lb.Name) != -1)
lb.Content = "Some text";
}
没用。。。谢谢你的帮助编辑:对不起,我用了.text而不是.content。
View.Xaml.cs
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window,INotifyPropertyChanged
{
private string textdisplayed;
public string Textdisplayed
{
get { return textdisplayed; }
set
{
textdisplayed = value;
InvokePropertyChanged(new PropertyChangedEventArgs("Textdisplayed"));
}
}
#region Implementation of INotifyPropertyChanged
public event PropertyChangedEventHandler PropertyChanged;
public void InvokePropertyChanged(PropertyChangedEventArgs e)
{
PropertyChangedEventHandler handler = PropertyChanged;
if (handler != null) handler(this, e);
}
#endregion
}
在XAML中,只要将属性Textdispalyed
正确绑定到标签,就可以更改文本。。
查看.Xaml
<TextBlock Text="{Binding Path=Textdisplayed,
ElementName=mainWindow}" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="36"></TextBlock>
编辑:
请使用以下方法:
var control = this.FindName("button1");
但如果你仍然想搜索每一件
- 每个TabeControl都有TabeItem每个TabeItem都有一个布局容器
- (例如网格)容器具有Children属性,该属性是
- UI元素的集合
你可以把每个孩子都交给一个控制,然后做任何你想做的事
var container=((tabControl1.Items[0]as TabItem).Content as Panel);
foreach(容器中的控件){//做你想做的事}