0

(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)

或者还有其他更好的方法吗?

谢谢。

4

1 回答 1

0

您没有在绑定定义的开头和结尾加上括号:

<DataGrid Grid.Column="1" Grid.Row="1" 
ItemsSource="{Binding Path=TblData, Mode=OneWay NotifyOnSourceUpdated=True, UpdateSourceTrigger=PropertyChanged}" 
AutoGenerateColumns="True" />
于 2013-02-20T09:47:56.887 回答