我的应用程序中有AutoCompleteBox,我已将其ItemSource / SelectedItem属性绑定到ViewModel。
现在我想绑定事件并且我没有得到用ViewModel绑定AutoCompeletBox KeyUP / KeyDown事件的方法我如何实现它?
我在应用程序中有一个Button,我使用了RelayCommand来绑定该按钮的Command(它正在工作)。
你能否详细说明约束力?
答案 0 :(得分:1)
如果您使用的是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。
答案 1 :(得分:0)
KeyUp / KeyDown事件处理应该是View实现的一部分。然后,您可以在View中创建逻辑,该逻辑将使用绑定或命令从ViewModel获取相关的自动完成值。
在任何纯粹主义者之前,谁认为所有逻辑都应该在虚拟机中开始低估。我相信绑定到View的逻辑应该保持在View中。