我有一个ComboBox
,其中包含CheckBox
更改了DataTemplate
,这可以自行完成,但将其移动到DataGrid
{ {1}}无法点击。
工作代码:
CheckBox
证明:
但是,当将相同的逻辑添加到<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
答案 0 :(得分:1)
如果你有一个嵌套控件,其父级通常会劫持HitTestVisibility,你可以冒泡并允许嵌套控件通过{{1}的属性使用ClickMode枚举来代替它的父级来代替它的正常事件被添加到相关控件中。
希望这有帮助,欢呼!