【发布时间】:2011-04-11 05:00:43
【问题描述】:
这是我的 xaml 和视图模型代码:
<sdk:DataGrid ItemsSource="{Binding Path=CurrentUserRoles, Mode=TwoWay}" AutoGenerateColumns="False">
<sdk:DataGrid.Columns>
<sdk:DataGridTemplateColumn Width="80">
<sdk:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button Command="{Binding Path=UsersViewModel.RemoveFromUserRolesCommand}" Content="Delete" ></Button>
<!--<Button Content="Delete" >
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cmd:EventToCommand Command="{Binding Path=UsersViewModel.RemoveFromUserRolesCommand}"
CommandParameter="{Binding}" PassEventArgsToCommand="True"
/>
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>-->
</DataTemplate>
</sdk:DataGridTemplateColumn.CellTemplate>
</sdk:DataGridTemplateColumn>
<sdk:DataGridTemplateColumn Width="200">
<sdk:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=Name}" Margin="10,0,0,0"></TextBlock>
</DataTemplate>
</sdk:DataGridTemplateColumn.CellTemplate>
</sdk:DataGridTemplateColumn>
</sdk:DataGrid.Columns>
</sdk:DataGrid>
private RelayCommand _removeFromUserRolesCommand = null;
public RelayCommand RemoveFromUserRolesCommand
{
get
{
if (_removeFromUserRolesCommand == null)
{
_removeFromUserRolesCommand = new RelayCommand(
() => this.OnARemoveFromUserRolesCommand(),
() => (this._adminModel != null) /*&& IsComboEnabled*/);
}
return _removeFromUserRolesCommand;
}
}
private void OnARemoveFromUserRolesCommand()
{
try
{
if (!_adminModel.IsBusy && SelectedAvailableRole != null)
{
...
}
}
catch (Exception ex)
{
...
}
}
我的问题是网格中的按钮不会触发。如果我将按钮放在网格之外,它可以正常工作。有人知道上面的代码出了什么问题吗?
【问题讨论】:
标签: silverlight silverlight-4.0 mvvm