2011-02-01 57 views
0

我在使用MVVM Lite EventToCommand在数据网格内的复选框组件上使用时遇到了问题。 EventToCommand不起作用,动作从不会触发。在数据网格内的组件上使用EventToCommand

不只是在复选框组件,我尝试在DataGrid内的另一个组件使用EventToComment。它也不起作用。

是否有可能在DataGrid中的组件使用EventToCommand?如果有可能,那么如何实施呢?

这里是代码..

XAML:

<sdk:DataGrid Name="dgSubmitProposal" 
         ItemsSource="{Binding Path=PeopleVM}" 
         SelectedItem="{Binding SelectedRateChange, Mode=TwoWay}" 
         FrozenColumnCount="{Binding FrozenColumnCount}" 
         TabNavigation="Cycle" 
         AutoGenerateColumns="False" 
         HorizontalAlignment="Stretch" 
         VerticalAlignment="Stretch" 
         VirtualizingStackPanel.VirtualizationMode="Standard" 
         ClipboardCopyMode="None"> 
      <sdk:DataGrid.Columns> 
       <sdk:DataGridTemplateColumn Header="Select"> 
        <sdk:DataGridTemplateColumn.CellTemplate> 
         <DataTemplate> 
          <CheckBox Name="chbSelect" IsChecked="{Binding IsChecked, Mode=TwoWay}"> 
           <i:Interaction.Triggers> 
            <i:EventTrigger EventName="Click"> 
             <cmd:EventToCommand Command="{Binding RowCheckCommand}"/> 
            </i:EventTrigger> 
           </i:Interaction.Triggers> 
          </CheckBox> 
         </DataTemplate> 
        </sdk:DataGridTemplateColumn.CellTemplate> 
       </sdk:DataGridTemplateColumn> 
       <sdk:DataGridTextColumn Header="Name" Binding="{Binding Name, Mode=TwoWay}" IsReadOnly="True" /> 
       <sdk:DataGridTextColumn Header="Age" Binding="{Binding Age, Mode=TwoWay}" IsReadOnly="True"/> 
      </sdk:DataGrid.Columns> 
     </sdk:DataGrid> 

视图模型类:

public RelayCommand RowCheckCommand 
{ 
    get; 
    private set; 
} 
public MainViewModel() 
{ 
    RowCheckCommand = new RelayCommand(() => MessageBox.Show("A checkbox in a datagrid Clicked!")); 
} 

回答

0
public MainViewModel() 
{ 
    RelayCommand = new RelayCommand(() => MessageBox.Show("A checkbox in a datagrid Clicked!")); 
} 

在这段代码有错误。您正在为属性创建RelayCommand:RelayCommand。你应该这样做RowCheckCommand属性

+0

对不起我的错误,它假设是“RowCheckCommand”。它不起作用 – micromonster 2011-02-01 12:47:16