在我当前的项目中,我使用两个列表框来显示一组项目的进度。所选项目显示当前正在运行的项目。由于显而易见的原因,用户需要无法通过gui更改所选项目。我通过捕获鼠标事件来完成此操作。
问题是,我仍然希望用户能够使用滚动条查看其所有数据点。有没有办法允许这种互动?基本上我想要的是一个启用列表框,允许用户使用滚动条,但不能改变数据区域。
我做了一些研究,找不到合理的解决方案。
答案 0 :(得分:0)
发布后我立即找到了解决方案。我已经在使用ListBoxItem样式了。如果添加将“IsHitTestVisible”设置为false的setter,则无法再选择列表项,但列表框本身不受影响。
这是我的风格:
<Style x:Key="ListBoxItemStyle" TargetType="{x:Type ListBoxItem}">
<Style.Setters>
<Setter Property="IsHitTestVisible" Value="False"/>
</Style.Setters>
</Style>
只需将该样式应用于列表框“ItemContainerStyle”,您应该好好去。