我有一个像这样的按钮和TextEdit,它们工作正常:
<dxe:TextEdit Text="{Binding SearchText}" />
<Button Command="{Binding SearchCommand}" / >
我想在用户点击Enter时进行搜索,所以我改变了我的代码:
<dxe:TextEdit Text="{Binding SearchText}" >
<dxe:TextEdit.InputBindings>
<KeyBinding Key="Enter" Command="{Binding SearchCommand}" />
</dxe:TextEdit.InputBindings>
</dxe:TextEdit>
<Button Command="{Binding SearchCommand}">
这样可行,但在代码中, SearchText 始终为null。所以我在添加输入绑定时打破了一些东西,你能告诉我如何解决这个问题吗? 我也试过这个,但SearchText仍然是空的。
<KeyBinding Key="Enter" Command="{Binding SearchCommand}" CommandParameter="{Binding Path=Text, RelativeSource={RelativeSource AncestorType={x:Type dxe:TextEdit}}}" />
答案 0 :(得分:2)
如果我没记错的话,DevExpress编辑器的默认UpdateSourceTrigger属性是LostFocus(我可能错了)
为了使您的代码有效,您必须通过将UpdateSourceTrigger设置为PropertyChangted来强制源在目标值更改时更新。
您可以在MSDN
上阅读有关UpdateSourceTrigger属性的更多信息答案 1 :(得分:1)
您是否已通知代码更改?您必须通过在类中继承INotifyPropertyChanged接口并调用PropertyChangedEventHandler事件来完成此操作;