ResourceButtonClick
次の xaml コードでは、ビュー モデルにあるRelayCommand をバインドしようとしています。それに加えて、Resource.Id
このコマンドにパラメーターとして を渡したいと思います。
ただし、ResourceButtonClick
呼び出されません。ItemsSource
を に設定することResources
で、ビュー モデルであるデータ コンテキストをオーバーライドしたと思われます。
<UserControl ...>
<Grid>
<ItemsControl ItemsSource="{Binding Resources}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Button Tag="{Binding Id}" Content="{Binding Content}"
Width="300" Height="50"
Command="{Binding ResourceButtonClick}"
CommandParameter="{Binding Id}"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</Grid>
</UserControl>
これRelayCommand
がビューモデルです。
public RelayCommand<int> ResourceButtonClick { get; private set; }
ビュー モデルのコンストラクター:
public ResourcesViewModel()
{
this.ResourceButtonClick =
new RelayCommand<int>((e) => this.OnResourceButtonClick(e));
}
ビューモデルのメソッド:
private void OnResourceButtonClick(int suggestionId)
{
...
}
2 つの質問があります。まず、ResourceButtonClick
コマンドを呼び出すにはどうすればよいですか。Resource.Id
次に、そのコマンドにパラメーターとして渡すにはどうすればよいですか。
任意の提案をいただければ幸いです。