【问题标题】:Two way data Binding issue with combo box - WPF组合框的两种方式数据绑定问题 - WPF
【发布时间】:2014-01-20 06:25:12
【问题描述】:

我有一个包含Combobox 的视图。 Combobox SelectedItem 属性是数据绑定到视图模型的SelectedX 属性作为双向数据绑定。初始化 viewModel 时,SelectedX 属性设置正确。但是在视图渲染之后,它会重置SelectedX的值(因为绑定是双向的)。 所以Combobox的双向数据绑定基本上是行不通的。请指教。

这是我认为的 xaml。我首先使用关系和 SelectedX 的适当值初始化视图模型。当视图呈现时,组合框会重置 SelectedX 的值。 (我想通过添加断点来实现)。希望这会有所帮助

   <ComboBox Grid.Row="1" Grid.Column="1" Margin="5" Background="White"     BorderBrush="DarkGray"
              SelectedItem="{Binding SelectedX, Mode=TwoWay}" 
              ItemsSource="{Binding Relationships}" DisplayMemberPath="Value" 
              SelectedValuePath="Value" SelectedValue="{Binding Key, Mode=TwoWay}"
              IsEditable="False" IsReadOnly="True" />

【问题讨论】:

  • 你能列出一些关键代码吗?
  • 我认为ComboBox SelctedIndex 已设置?请发布您尝试过的代码..

标签: c# wpf mvvm combobox


【解决方案1】:
SelectedValue="{Binding Key, Mode=TwoWay}"

这会将SelectedItem 更改为其SelectedValue

【讨论】:

  • 感谢 Sankarann,不添加 SelectedValue 属性解决了我的问题。您提到添加此选项会重置 SelectedItem 是正确的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-31
  • 2011-07-06
相关资源
最近更新 更多