如何更改特定标签';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。

如何更改特定标签';s带有foreach循环的文本

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(容器中的控件){//做你想做的事}