如何在选择ListBox项之前从已编辑的TextBox中获取值?

时间:2012-03-23 17:12:01

标签: c# .net silverlight xaml binding

我有一个带有公式的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。

由于

3 个答案:

答案 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>