Итак, поиск не помог, и я немного новичок в мире привязок.
, чтобы максимально упростить его: у меня есть 2 окна и класс.В первом окне я объявляю список моего класса глобально: List<MyClass> MyList = new List<MyClass>();
Класс поддерживает INotifyPropertyChanged с использованием пакета PropertyChanged.Fody Nuget.
class MyClass : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
public string FirstName { get; set; }
}
В первом окне у меня естьтекстовое поле и кнопка.когда я нажимаю кнопку, в MyList добавляется новый MyClass со свойством FirstName объекта TextBox.Text.Затем новая строка добавляется в основную сетку второго окна и в новую строку добавляется метка:
private void Button_Click(object sender, RoutedEventArgs e)
{
MyClass mc = new MyClass() { FirstName = TextBox.Text; };
MyList.Add(mc);
//find my second window and add row and label to its grid
foreach (Window window in Application.Current.Windows)
{
if (window.GetType() == typeof(SecondWindow))
{
Grid mgrid = (window as SecondWindow).MainGrid;
mgrid.RowDefinitions.Add(new RowDefinition() { Height = GridLength.Auto });
Label FN = new Label()
{
Name = "lbl" + mc.FirstName,
Content = mc.FirstName,
};
mgrid.Children.Add(FN);
Grid.SetRow(FN, mgrid.RowDefinitions.Count - 2);
}
}
}
Теперь, в коде выше, я знаю, что я должен как-то изменить Content = mc.FirstName
, чтобы сохранить егопривязан к свойству класса, но понятия не имею, как, и поиск не помог мне решить его.
Кто-нибудь знает, что мне делать?