ListBoxItem选择仅在项目模板的一部分上进行测试

时间:2014-03-26 14:33:34

标签: c# wpf xaml listbox

我正在尝试使ListBox行为,以便只有部分项目模板接受鼠标单击以进行行选择(附加图像上带有红色边框的部分)。

虽然可以通过在我不想参与选择的单元格样式上将IsHitTestVisible设置为false来在DataGrid上轻松实现,但我无法在ListBox上使用它。

将ItemContainer样式上的IsHitTestVisible设置为false会完全禁用选择,而在项目模板的某些部分上将IsHitTestVisible设置为false似乎会被忽略。

         <!-- does not work-->
         <Border IsHitTestVisible="False" Height="24" Width="30">
           <TextBlock IsHitTestVisible="False" (...)/>
         </Border>

Single row

感谢您的任何建议!

1 个答案:

答案 0 :(得分:0)

好的,对不起,答案看起来很简单,但是通过后面的代码完成(所以如果你有一些更清洁的解决方案,我感兴趣)。

关于我不想参与选择过程的项目:

<Border PreviewMouseDown="SwallowMouseDown" 

private void SwallowMouseDown(object sender, MouseButtonEventArgs e)
{
    e.Handled = true;
}