2011-04-07 94 views
0

我在我的应用程序中有AutoCompleteBox,并将其ItemSource/SelectedItem属性绑定到ViewModel。如何将UI控件事件绑定到ViewModel(MVVM)?

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

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

你能否给我详细的绑定的例子?

回答

1

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

你也可能要更改自动完成框的绑定表达式的UpdateSourceTrigger属性为“属性更改”

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

默认绑定行为是引发LostFocus,所以这会立即更新您的ViewModel。

+0

嗨NJerbert我没有使用任何工具包。 – PramodChoudhari 2011-04-07 05:07:05

+0

你可以用任何来源更新你的问题,以帮助进一步说明你正试图将事件绑定到什么? – njebert 2011-04-07 05:10:29

0

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

在任何纯粹主义者之前,谁认为所有的逻辑都应该在虚拟机中开始downvoting。我相信逻辑,这是必须停留在视图。

相关问题