如何将 UI 控件事件绑定到 ViewModel(MVVM)?

发布于 2024-10-30 12:49:22 字数 239 浏览 2 评论 0原文

我的应用程序中有 AutoCompleteBox,并且已将其 ItemSource/SelectedItem 属性绑定到 ViewModel。

现在我想绑定事件,但没有找到将 AutoCompeletBox KeyUP/KeyDown 事件与 ViewModel 绑定的方法,我该如何实现它?

我在应用程序中有一个按钮,我使用 RelayCommand 来绑定该按钮的命令(它正在工作)。

您能给我详细的绑定示例吗?

I have AutoCompleteBox in my application and I have binded its ItemSource/SelectedItem property to ViewModel.

Now I want to bind event and I am not getting the way to bind AutoCompeletBox KeyUP/KeyDown event with ViewModel how do i acheive it??

I have a Button in application and I have used RelayCommand to bind Command of that Button(It's Working).

Can you please give me details exaple of binding?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

网名女生简单气质 2024-11-06 12:49:22

如果您使用 GalaSoft MVVM 工具包,则可以使用 EventToCommand 将 KeyUp 事件绑定到命令。在这里查看 - http://geekswithblogs.net/lbugnion/archive/2009/11/05/mvvm-light-toolkit-v3-alpha-2-eventtocommand-behavior.aspx

您可能还想更改 UpdateSourceTrigger 属性在自动完成框的绑定表达式中将其设置为“Property Changed”。

Text="{Binding SearchText, UpdateSourceTrigger=PropertyChanged}"

默认绑定行为位于 LostFocus 上,因此这将立即更新您的 ViewModel。

If you are using the GalaSoft MVVM toolkit, you can use EventToCommand to bind the KeyUp event to a command. Check it out here - http://geekswithblogs.net/lbugnion/archive/2009/11/05/mvvm-light-toolkit-v3-alpha-2-eventtocommand-behavior.aspx

You might also want to change the UpdateSourceTrigger property in the binding expression of the auto-complete box to "Property Changed"

Text="{Binding SearchText, UpdateSourceTrigger=PropertyChanged}"

The default binding behavior is on LostFocus, so this will update your ViewModel instantly.

煮酒 2024-11-06 12:49:22

KeyUp / KeyDown 事件处理应该是 View 实现的一部分。然后,您可以在 View 中创建逻辑,该逻辑将使用绑定或命令从 ViewModel 获取自动补全的相关值。

在任何认为所有逻辑都应该在 VM 中的纯粹主义者开始投反对票之前。我相信逻辑,那就是View应该留在View中。

KeyUp / KeyDown event handling should be part of View implementation. Then you can create logic in View, that will use binding or commands to get related values for autocompletion from or to ViewModel.

And before any purist, who thinks all logic should be in VM starts downvoting. I believe logic, that is bound to View should stay in View.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文