2014-11-27 2 views
0

У меня есть следующий код XAML:Checkbox с Catel EventToCommand не работает в Datagrid

<DataGrid.Columns> 
</DataTemplate> 
</DataGridTemplateColumn.HeaderTemplate> 
<DataGridTemplateColumn.CellTemplate> 
    <DataTemplate> 
     <CheckBox IsChecked="{Binding IsSelected, Mode=TwoWay}" 
     Command="{Binding DataContext.UpdateCommand, RelativeSource={RelativeSource Mode=Self}}"> 
     </CheckBox> 
    </DataTemplate> 
</DataGridTemplateColumn.CellTemplate> 
</DataGridTemplateColumn> 

В ViewModels у меня есть;

public Command UpdateCommand { get; private set; } 
UpdateCommand = new Command(UpdateControls); 

private void UpdateControls() 
{ 
    //Execute 
} 

Однако UpdateControls никогда не выполняется. Может ли кто-нибудь помочь мне с этим, чтобы это работало?

ответ

2

Проблема в том, что вы привязываетесь к себе (это CheckBox). Вы должны указать имя DataGrid и затем использовать эту привязку:

<CheckBox IsChecked="{Binding IsSelected, Mode=TwoWay}" 
      Command="{Binding ElementName=myDataGrid, Path=DataContext.UpdateCommand}" /> 
+0

Спасибо за быстрый ответ, сейчас это работает! –

Смежные вопросы