在下面的 xaml 代码中,我正在尝试绑定ResourceButtonClick
视图模型中的 RelayCommand 。除此之外,我想将Resource.Id
作为参数传递给这个命令。
但是,ResourceButtonClick
不叫。我怀疑通过设置ItemsSource
to 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)
{
...
}
我有两个问题:首先,我该如何调用ResourceButtonClick
命令。其次,如何将Resource.Id
参数作为参数传递给该命令。
任何建议将不胜感激。