我正在尝试使ListBox行为,以便只有部分项目模板接受鼠标单击以进行行选择(附加图像上带有红色边框的部分)。
虽然可以通过在我不想参与选择的单元格样式上将IsHitTestVisible设置为false来在DataGrid上轻松实现,但我无法在ListBox上使用它。
将ItemContainer样式上的IsHitTestVisible设置为false会完全禁用选择,而在项目模板的某些部分上将IsHitTestVisible设置为false似乎会被忽略。
<!-- does not work-->
<Border IsHitTestVisible="False" Height="24" Width="30">
<TextBlock IsHitTestVisible="False" (...)/>
</Border>
感谢您的任何建议!
答案 0 :(得分:0)
好的,对不起,答案看起来很简单,但是通过后面的代码完成(所以如果你有一些更清洁的解决方案,我感兴趣)。
关于我不想参与选择过程的项目:
<Border PreviewMouseDown="SwallowMouseDown"
private void SwallowMouseDown(object sender, MouseButtonEventArgs e)
{
e.Handled = true;
}