在我的 xaml 代码中,我有以下 DataGridTemplateColumn
<DataGridTemplateColumn Header="Category">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button x:Name="categoryButton" Style="{StaticResource Flat}"
Tag="{Binding Category}"
Command="{Binding SelectCategoryCommand,
UpdateSourceTrigger=PropertyChanged}"
CommandParameter="{Binding ElementName=categoryButton,
Path=Tag}">
<Image Source="{Binding Category, Converter={StaticResource
categoryConverter}}"/>
</Button>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
ViewModel 中的 SelectCategoryCommand-Property 是:
private ICommand selectCategoryCommand;
public ICommand SelectCategoryCommand
{
get { return this.selectCategoryCommand; }
set
{
this.selectCategoryCommand = value;
OnPropertyChanged("SelectCategoryCommand");
}
}
在 ViewModel 的构造函数中,我有:
...
this.SelectCategoryCommand = new RelayCommand(SelectCategory);
...
而 SelectCategory-Method 只是
private void SelectCategory(object parameter)
{
MessageBox.Show("dummy");
}
视图和视图模型之间的连接有效。我还有一些其他属性,绑定可以正常工作。
为什么不调用 SelectCategory-Method?