【发布时间】:2011-08-17 23:37:26
【问题描述】:
我正在尝试在 WPF MVVM 应用程序中实现工具提示系统。工具提示应该出现在作为 MainWindow 一部分的某个 Label 中(不悬停在鼠标指针上),并且应该在鼠标悬停时发生(理想情况下具有可配置的延迟,但这并不重要),调用方法在适当的 ViewModel 中。然后,ViewModel 将处理联系模型层,该层将解析要显示的工具提示等。
我的问题是如何将鼠标悬停事件从视图获取到 ViewModel,以及触发事件的对象的身份(这样我就可以为它解析正确的工具提示)。假设我的 SettingsView.xaml 中有一个 <Label Name="MyLabel" Content="This is a label" />,我如何让它调用 SettingsViewModel 中的 GetTooltip(string id) 方法,并在鼠标悬停时将 MyLabel 作为参数(或以其他方式访问)?我可以使用普通的<Trigger> 以某种方式做到这一点吗?
【问题讨论】:
-
查看此链接以查看在通常的“非命令”控件上构建命令并绑定到它们是否可以解决您的问题。 blogs.microsoft.co.il/blogs/tomershamam/archive/2009/04/14/…
-
@Dave:这应该是一个答案.. 我想赞成它=)
-
@Jens - 全部完成。我也加了一点。感谢您的建议。
标签: wpf events mvvm mouseover onmouseover