0

というユーザーコントロールがありますHomePage.xaml。ページのコンストラクターのコード ビハインド ファイルに (MVVM パターンを使用して) モデル インスタンスを作成しています。

MainViewModel model = new MainViewModel();

呼び出さHomePage.xamlれたコマンドにバインドし、データグリッドにデータを入力したいボタンがあります。データグリッドにデータをバインドするために使用する があります。MainViewModelGetData()MainViewModelObservableCollection

コマンドをバインドせずにデータグリッドにデータを入力すると、正常に機能します。

ボタンを次のようにバインドしています。

<StackPanel x:Name="stkPanelInput" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center">
<Button x:Name="buttonGetData" Width="70" Content="GetData" Command="{Binding GetData}"  Click="buttonGetData_Click"/>
</StackPanel>

MVVM を使用してコマンドをバインドするにはどうすればよいですか?

4

1 に答える 1

2

Archie が言ったように、ページの DataContext を MainViewModel のインスタンスに設定します。

DataContext = model;

次に、XAML を次のようにします。

<StackPanel x:Name="stkPanelInput" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center">
<Button x:Name="buttonGetData" Width="70" Content="GetData" Command="{Binding GetDataCommand}"  Click="buttonGetData_Click"/>
</StackPanel>
于 2010-05-20T08:19:24.507 に答える