C# 在选择列表框项目之前,如何从编辑的文本框中获取值?
我有一个带公式的Silverlight应用程序。公式有一个文本框和一个列表框C# 在选择列表框项目之前,如何从编辑的文本框中获取值?,c#,.net,silverlight,xaml,binding,C#,.net,Silverlight,Xaml,Binding,我有一个带公式的Silverlight应用程序。公式有一个文本框和一个列表框 <TextBox Text="{Binding Value, Mode=TwoWay}/> <ListBox ItemsSource="{Binding Items}" SelectedItem="{Binding SelectedItem, Mode=TwoWay}"> </ListBox> 不幸的是,这看起来像个bug。WPF上的相同示例将导致文本框设置在列表框之前。您必须通过
<TextBox Text="{Binding Value, Mode=TwoWay}/>
<ListBox ItemsSource="{Binding Items}" SelectedItem="{Binding SelectedItem, Mode=TwoWay}">
</ListBox>
不幸的是,这看起来像个bug。
WPF
上的相同示例将导致文本框
设置在列表框
之前。您必须通过稍微更改应用程序UI功能的逻辑来找到另一种方法。您可以在TextChanged
事件上更新TextBox
Text
属性绑定,而不是现在的LostFocus
。是一个示例。默认情况下,TextboxBinding在LostFocus上更新,请尝试将您的绑定更改为:
<TextBox Text="{Binding Value, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}/>
<ListBox ItemsSource="{Binding Items}" SelectedItem="{Binding SelectedItem, Mode=TwoWay}">
</ListBox>
你确定你用对了吗?因为有了这种行为,值将在每次编写内容时更新,并且在选择列表框之前更新。