Как я могу изменить текст конкретной метки с помощью цикла foreach - PullRequest
0 голосов
/ 02 апреля 2012

Я пробовал это раньше:

string st = "Unit";
foreach (Label lb in tabControl1.Items)
{
    if (st.IndexOf(lb.Name) != -1)
        lb.Content = "Some text";
}

Не сработало ... Спасибо за помощь РЕДАКТИРОВАТЬ: я использовал .text вместо .content извините.

Ответы [ 2 ]

1 голос
/ 02 апреля 2012

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
}

Измените текст там, где вам нужно. Просто привяжите свойство Textdispalyed к вашей метке в XAML правильно ..

View.Xaml

    <TextBlock Text="{Binding Path=Textdisplayed,
                                 ElementName=mainWindow}" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="36"></TextBlock>
0 голосов
/ 02 апреля 2012

Редактировать:

использовать этот метод вместо:

var control = this.FindName("button1");

, но если вы все еще хотите искать каждый элемент

  • , каждый TabeControl имеет TabeItems каждый TabeItemимеет контейнер макета
  • (например, Grid). Контейнер имеет свойство Children, представляющее собой
  • коллекцию UIElements
  • , которую вы можете привести каждого дочернего элемента к элементу управления изатем делайте что хотите

    var container = ((tabControl1.Items [0] как TabItem). Содержимое как панель);

    foreach (Элемент управления Control в контейнере) {// делать то, что выхочу}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...