在我的一个datagrid的一列中需要全选框,所以我在样式中是这样写的:
<DataGridTemplateColumn.Header> <CheckBox> <i:Interaction.Triggers> <i:EventTrigger EventName="Checked"> <command:EventToCommand Command="{Binding DataContext.ClassObject.CheckChangedCommand,RelativeSource={RelativeSource AncestorType=Window,AncestorLevel=1}}" CommandParameter="True" /> </i:EventTrigger> <i:EventTrigger EventName="Unchecked"> <command:EventToCommand Command="{Binding DataContext.ClassObject.CheckChangedCommand,RelativeSource={RelativeSource AncestorType=Window,AncestorLevel=1}}" CommandParameter="False" /> </i:EventTrigger> </i:Interaction.Triggers> </CheckBox> </DataGridTemplateColumn.Header>
但是在执行的时候始终提示找不到,后台command也没有执行,很费解,最后修改为以下就好了,但是是什么原因造成这种结果,还不是很清楚。
<DataGridTemplateColumn.HeaderTemplate> <DataTemplate> <CheckBox> <i:Interaction.Triggers> <i:EventTrigger EventName="Checked"> <command:EventToCommand Command="{Binding DataContext.ClassObject.CheckChangedCommand,RelativeSource={RelativeSource AncestorType=Window,AncestorLevel=1}}" CommandParameter="True" /> </i:EventTrigger> <i:EventTrigger EventName="Unchecked"> <command:EventToCommand Command="{Binding DataContext.ClassObject.CheckChangedCommand,RelativeSource={RelativeSource AncestorType=Window,AncestorLevel=1}}" CommandParameter="False" /> </i:EventTrigger> </i:Interaction.Triggers> </CheckBox> </DataTemplate> </DataGridTemplateColumn.HeaderTemplate>