有没有办法在典型的 listBox 上确定当前关注哪个 listBoxItem?我说的是选择前的状态,更像是鼠标悬停事件。
我尝试了MouseEnter
andFocus
事件,但问题是,我无法确定哪个项目调用了这些事件。
有没有办法在典型的 listBox 上确定当前关注哪个 listBoxItem?我说的是选择前的状态,更像是鼠标悬停事件。
我尝试了MouseEnter
andFocus
事件,但问题是,我无法确定哪个项目调用了这些事件。
您应该使用 SelectedIndex 或 SelectedItem
你需要更详细的东西...
有关“基于事件”的解决方案,请参阅此解决方案-尽管I wouldn't recommend that (unless a fast fix or very specific) as it 'ties' your code, you should keep MVVM as much as possible
...
<ListBox.ItemContainerStyle>
<Style TargetType="{x:Type ListBoxItem}">
<EventSetter Event="MouseEnter" Handler="ListBoxItem_MouseEnter" />
</Style>
</ListBox.ItemContainerStyle>
并修复它以使用 MVVM 工作(i.e. you need to bind that event as a command into your view-model ICommand
- 你需要一个附加的排序属性 - 例如(只需快速搜索就会得到很多)......
如何将 WPF 命令绑定到 MouseEnter 事件?
如何在 WPF 中的 StackPanel 的 MouseEnter 上执行命令绑定?
WPF - 在 MouseOver 上执行按钮命令
然后将其绑定attached property
到您的视图模型属性-您将获得“悬停项目”的更改-然后您可以完成其余的工作-甚至设置/公开您自己的“悬停项目”属性(这就是我的做法-连接所有一起制作而不是直接连接到该hoevered属性或其他东西的命令线。这是一个快速的伪代码,希望对您有所帮助。