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

本文关键字:事件 ViewModel MVVM 控件 UI 绑定 何绑定 | 更新日期: 2023-09-27 17:49:33

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

现在我想绑定事件,我没有得到的方式绑定AutoCompeletBox KeyUP/KeyDown事件与ViewModel我如何实现它??

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

你能给我一个装订的详细例子吗?

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

如果您正在使用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。

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

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