我们有一个场景,我们想要显示一个项目列表,并指出哪个是"当前"项目(带有小箭头标记或更改的背景颜色).
ItemsControl对我们没有好处,因为我们需要"SelectedItem"的上下文.但是,我们希望以编程方式移动选择,而不允许用户更改它.
有一种简单的方法可以使ListBox非交互式吗?我们可以通过故意吞下鼠标和键盘事件来捏造它,但是我错过了一些基本属性(比如将"IsEnabled"设置为false而不影响其视觉风格)给了我们想要的东西吗?
或者......是否有另一个WPF控件,它是两个世界中最好的 - 具有SelectedItem属性的ItemsControl?
一种选择是设置ListBoxItem.IsEnabled
为false
:
这可确保项目不可选,但它们可能无法呈现您的喜好.要解决此问题,您可以使用触发器和/或模板.例如: