WPF允许用户滚动列表框,但不更改所选项目。

时间:2014-08-22 14:11:21

标签: wpf vb.net xaml listbox scrollbar

在我当前的项目中,我使用两个列表框来显示一组项目的进度。所选项目显示当前正在运行的项目。由于显而易见的原因,用户需要无法通过gui更改所选项目。我通过捕获鼠标事件来完成此操作。

问题是,我仍然希望用户能够使用滚动条查看其所有数据点。有没有办法允许这种互动?基本上我想要的是一个启用列表框,允许用户使用滚动条,但不能改变数据区域。

我做了一些研究,找不到合理的解决方案。

1 个答案:

答案 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”,您应该好好去。