关于在MVVM下的WPF w/DataTable中使用DataGrid
本文关键字:DataTable DataGrid MVVM 下的 WPF | 更新日期: 2023-09-27 18:00:18
(C#)最近,我试图在按下.xaml中的按钮时将SQL结果从Access MDB显示到DataGrid。到目前为止,我成功地使用ICommand触发了SQL并将结果返回到DataTable中。我还使用PropertyChangedEventHandler通知GUI。但是,.xaml中的DataGrid不会刷新。(数据网格外观保持不变)
在ViewModel中,我使用以下内容通知GUI:
public DataTable TblData
{
get { return _dataTable; }
set
{
_dataTable = value;
RaisePropertyChanged("TblData");
}
}
在.xaml.cs中,我将DataContext设置为ViewModel:
public MainWindow()
{
InitializeComponent();
this.DataContext = _dataViewModel;
}
在.xaml中,我已经将DataGrid绑定到DataTable:
<DataGrid Grid.Column="1" Grid.Row="1"
ItemsSource="Binding Path=TblData, Mode=OneWay NotifyOnSourceUpdated=True, UpdateSourceTrigger=PropertyChanged"
AutoGenerateColumns="True" />
你知道我该怎么解决吗?(使用MVVM)
或者还有其他更好的方法吗?
谢谢。
您没有在绑定定义的开始和结束处加括号:
<DataGrid Grid.Column="1" Grid.Row="1"
ItemsSource="{Binding Path=TblData, Mode=OneWay NotifyOnSourceUpdated=True, UpdateSourceTrigger=PropertyChanged}"
AutoGenerateColumns="True" />