我有一个带有公式的Silverlight应用程序。公式有一个TextBox和一个ListBox。
<TextBox Text="{Binding Value, Mode=TwoWay}/>
<ListBox ItemsSource="{Binding Items}" SelectedItem="{Binding SelectedItem, Mode=TwoWay}">
</ListBox>
我关注TextBox并在其中写入内容。在此之后,我在ListBox中选择一个项目。 ViewModel似乎设置了“SelectedItem”BEFORE“Value”。为什么?我该如何修理订单?我的意思是我需要在ListBox之前处理TextBox。
由于
答案 0 :(得分:0)
不幸的是,这看起来像一个错误。 WPF
上的相同示例将导致TextBox
设置在ListBox
之前。您必须通过稍微改变应用UI功能的逻辑来找到另一种做您想做的方式。
答案 1 :(得分:0)
您可以在TextBox
事件更新Text
TextChanged
属性绑定,而不是LostFocus
现在的状态。 Here是一个示例。
答案 2 :(得分:0)
默认情况下,TextboxBinding会更新LostFocus,请尝试将绑定更改为:
<TextBox Text="{Binding Value, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}/>
<ListBox ItemsSource="{Binding Items}" SelectedItem="{Binding SelectedItem, Mode=TwoWay}">
</ListBox>