【问题标题】:ListBoxItem selection hit test only on part of the item templateListBoxItem 选择命中测试仅在部分项目模板上
【发布时间】:2014-03-26 14:33:34
【问题描述】:

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

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

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

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

感谢您的任何建议!

【问题讨论】:

    标签: c# wpf xaml listbox


    【解决方案1】:

    好的,抱歉,答案似乎很简单,但通过后面的代码完成(所以如果你有更简洁的解决方案,我很感兴趣)。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-01-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多