0

有没有办法在典型的 listBox 上确定当前关注哪个 listBoxItem?我说的是选择前的状态,更像是鼠标悬停事件。

我尝试了MouseEnterandFocus事件,但问题是,我无法确定哪个项目调用了这些事件。

4

2 回答 2

1

您应该使用 SelectedIndex 或 SelectedItem

于 2013-03-31T16:56:48.167 回答
0

你需要更详细的东西...

有关“基于事件”的解决方案,请参阅此解决方案-尽管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 鼠标悬停 - 如何获取项目

<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属性或其他东西的命令线。这是一个快速的伪代码,希望对您有所帮助。

于 2013-03-31T19:05:44.093 回答