gpt4 book ai didi

wpf - WPF中的鼠标悬停事件?

转载 作者:行者123 更新时间:2023-12-04 12:43:08 28 4
gpt4 key购买 nike

我正在尝试在 WPF MVVM 应用程序中实现工具提示系统。工具提示应该出现在作为 MainWindow 一部分的某个 Label 中(不悬停在鼠标指针上),并且应该在鼠标悬停时发生(理想情况下具有可配置的延迟,但这并不重要),调用方法在适当的 ViewModel 中。然后 ViewModel 将处理联系模型层,该层将解析要显示的工具提示等。

我的问题是如何将鼠标悬停事件从 View 获取到 ViewModel,以及触发事件的对象的身份(这样我就可以为它解决正确的工具提示)。假设我有一个 <Label Name="MyLabel" Content="This is a label" />在我的 SettingsView.xaml 中,如何让它调用 GetTooltip(string id)鼠标悬停时以 MyLabel 作为参数(或以其他方式访问)的 SettingsViewModel 中的方法?我可以使用普通的 <Trigger>以某种方式做到这一点?

最佳答案

您需要做的是将一些命令(ViewModel 与 View 中的事件交互的首选方法)连接到鼠标事件,然后使用适当的信息“填充”您的“工具提示”控件。

例如,您的 ViewModel 有一个 ToolTip 属性(表示单向,仅获取 ToolTipViewModel),可以绑定(bind)到您的 UI 的某个区域(使用 DataTemplate)。您绑定(bind)到新的“MouseOver”命令并根据命令填充/取消 ToolTipViewModel 属性中的对象。这允许可测试性、零代码背后以及使用 DataTemplates 来构建您的工具提示演示。

Check out this link查看在通常的“非命令”控件上构建命令并绑定(bind)到它们是否可以解决您的问题。

关于wpf - WPF中的鼠标悬停事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5874478/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com