ComboBox DataTemplate中的WPF CheckBox在DataGrid中不起作用

时间:2017-02-06 10:13:41

标签: wpf xaml datagrid datatemplate

我有一个ComboBox,其中包含CheckBox更改了DataTemplate,这可以自行完成,但将其移动到DataGrid { {1}}无法点击。

工作代码:

CheckBox

证明:

enter image description here

但是,当将相同的逻辑添加到<ComboBox ItemsSource="{Binding WrapUpHelper.WrapUps}"> <ComboBox.ItemTemplate> <DataTemplate> <StackPanel Orientation="Vertical"> <StackPanel Orientation="Horizontal"> <CheckBox IsChecked="{Binding IsSelected}" Width="20" /> <TextBlock Text="{Binding FriendlyDescription}" /> </StackPanel> <ListBox ItemsSource="{Binding WrapUps}" Visibility="{Binding Path=IsSelected, Converter={StaticResource BooleanToVisibilityConverter}}" BorderThickness="0" Background="Transparent"> <ListBox.ItemTemplate> <DataTemplate> <StackPanel Orientation="Horizontal"> <CheckBox IsChecked="{Binding IsSelected}" Width="20" /> <TextBlock Text="{Binding FriendlyDescription}" /> </StackPanel> </DataTemplate> </ListBox.ItemTemplate> </ListBox> </StackPanel> </DataTemplate> </ComboBox.ItemTemplate> </ComboBox> 时,DataGrid不会向CheckBox添加复选标记,而是在没有选中的情况下关闭。

非工作代码:

ComboBox

enter image description here

1 个答案:

答案 0 :(得分:1)

如果你有一个嵌套控件,其父级通常会劫持HitTestVisibility,你可以冒泡并允许嵌套控件通过{{1}的属性使用ClickMode枚举来代替它的父级来代替它的正常事件被添加到相关控件中。

希望这有帮助,欢呼!