0

(C#)最近、.xamlのボタンを押したときに、AccessMDBからDataGridへのSQL結果を表示しようとしています。これまでのところ、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 に答える