【发布时间】:2015-06-15 05:45:10
【问题描述】:
我用 itemTemplate 制作了一个带有 Combobox 的用户控件。我为单击项目设置了一个事件触发器。但它不能完全工作。它不接受点击。在我的文本之前的模板或空白处。 这是我的代码
<Combobox>
<Combobox.ItemTemplate>
<DataTemplate>
<Grid Height="25" FlowDirection="RightToLeft">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="25" />
<ColumnDefinition MinWidth="100" />
<ColumnDefinition Width="25" />
</Grid.ColumnDefinitions>
<i:Interaction.Triggers>
<i:EventTrigger EventName="MouseLeftButtonUp">
<command:EventToCommand Command="{Binding Command}"
CommandParameter="{Binding CommandParameter}" />
</i:EventTrigger>
</i:Interaction.Triggers>
<Image Height="20" Width="25" Grid.Column="0" VerticalAlignment="Center"
HorizontalAlignment="Center" />
<TextBlock Text="{Binding Title}" Grid.Column="1" VerticalAlignment="Center" />
<TextBlock Grid.Column="2" />
</Grid>
</DataTemplate>
</Combobox.ItemTemplate>
</Combobox>
它是一个绑定到包含命令和命令参数的对象列表的用户控件,单击每个项目时应引发一个命令。
【问题讨论】:
-
你怎么知道它不接受你的点击?首先执行以下操作:设置 Grid Background="Transparent" ,没有背景颜色甚至透明的命中测试被忽略。
-
我设置了 Background={x:Null} 但什么也没有。点击执行,但在项目的某些地方它不起作用
-
不是 {x:Null} 我说的是“透明”
-
谢谢,它变得更好了。但它不会在项目边界附近执行。
标签: c# wpf combobox click itemtemplate