如何获取绑定到数据网格的列表的值
How can i get the values of the list bounded to a datagrid
我已将列表绑定到 DataGrid
。修改 DataGrid
中的列表后,我想将列表保存在 xml 文件中。我怎样才能访问 c# 代码中的列表?
换句话说,我想在单击 Button
.
后获取 Welle1 的内容
InitializeComponent();
List<Wellenelement> we1 = new List<Wellenelement>();
Welle Welle1 = new Welle
{
Elemente = we1
};
dataGrid.DataContext = Welle1;
```c#
因此,首先,使用 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;
添加到您的 usings 以找到所需的 classes。
接下来在构造函数的正上方添加一个新的 Property
,如下所示:
private ObservableCollection<WellenElement> m_WellenListe;
public ObservableCollection<WellenElement> WellenListe
{
get { return m_WellenListe; }
set
{
m_WellenListe = value;
OnPropertyChanged("WellenListe");
}
}
注意:如果您想在运行时更改 ItemsSource,我建议您使用 ObservableCollection
而不是 List
。 (您必须添加 using System.Collections.ObjectModel;
才能获得 class)
现在您可以将 DataGrid
绑定到 ObservableCollection
:
<DataGrid ItemsSource="{Binding WellenListe}"/>
现在您可以在后面的代码中使用您的列表做任何您想做的事情,例如:
button1_click(object sender, RoutedEventArgs e)
{
foreach(WellenElement welle in WellenListe)
{
//Save to xml
}
}
我已将列表绑定到 DataGrid
。修改 DataGrid
中的列表后,我想将列表保存在 xml 文件中。我怎样才能访问 c# 代码中的列表?
换句话说,我想在单击 Button
.
InitializeComponent();
List<Wellenelement> we1 = new List<Wellenelement>();
Welle Welle1 = new Welle
{
Elemente = we1
};
dataGrid.DataContext = Welle1;
```c#
因此,首先,使用 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;
添加到您的 usings 以找到所需的 classes。
接下来在构造函数的正上方添加一个新的 Property
,如下所示:
private ObservableCollection<WellenElement> m_WellenListe;
public ObservableCollection<WellenElement> WellenListe
{
get { return m_WellenListe; }
set
{
m_WellenListe = value;
OnPropertyChanged("WellenListe");
}
}
注意:如果您想在运行时更改 ItemsSource,我建议您使用 ObservableCollection
而不是 List
。 (您必须添加 using System.Collections.ObjectModel;
才能获得 class)
现在您可以将 DataGrid
绑定到 ObservableCollection
:
<DataGrid ItemsSource="{Binding WellenListe}"/>
现在您可以在后面的代码中使用您的列表做任何您想做的事情,例如:
button1_click(object sender, RoutedEventArgs e)
{
foreach(WellenElement welle in WellenListe)
{
//Save to xml
}
}