Итак, прежде всего, используя WPF, вам придется использовать Properties и PropertyChangedEvent.
Перейдите в свой MainWindow.xaml.cs (или в свою ViewModel, если вы уже используете MVVM) и добавьте под своим Конструктором (обычно public MainWindow(){ //[...]
)
public event PropertyChangedEventHandler PropertyChanged;
private void OnPropertyChanged(string propertyName)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
вам также нужно будет добавить using System.ComponentModel;
к вашим обычаям, чтобы найти необходимые классы.
Затем вы добавляете новый Property
прямо над вашим Конструктором, например:
private ObservableCollection<WellenElement> m_WellenListe;
public ObservableCollection<WellenElement> WellenListe
{
get { return m_WellenListe; }
set
{
m_WellenListe = value;
OnPropertyChanged("WellenListe");
}
}
Примечание. Я предлагаю использовать ObservableCollection
вместо List
, если вы хотите изменить ваш ItemsSource во время выполнения. (Вы должны добавить using System.Collections.ObjectModel;
, чтобы получить класс)
Теперь вы можете привязать свой DataGrid
к вашему ObservableCollection
:
<DataGrid ItemsSource="{Binding WellenListe}"/>
Теперь вы можете делать все что угодно с вашим списком в коде, например:
button1_click(object sender, RoutedEventArgs e)
{
foreach(WellenElement welle in WellenListe)
{
//Save to xml
}
}