WPF ComboBox:文本值不会影响SelectedItem

时间:2014-12-04 12:55:53

标签: c# wpf xaml combobox

如果我在依赖属性中加载字符串值" Text" ComboBox ComboBox不会将字符串值与ItemsSource对象配对,并且我没有填充SelectedItem。

需要ToolIip的SelectedItem !!

<ComboBox x:Name="FieldComboBox" IsEditable="True" IsTextSearchEnabled="True"                          
          Text="{Binding Text, UpdateSourceTrigger=PropertyChanged}"
          DisplayMemberPath="DataCode" 
          ItemsSource="{Binding FieldAlternative.FieldParts[0].DataItems}"
          ToolTip="{Binding Path=SelectedItem.Description, ElementName=FieldComboBox}"/>     

如果我已经空文本并写入,它可以正常工作。如果我在Text中打开了带有值的表单,我的SelectedItem为null但显示了值Text。

任何解决方案如何强制将Text与ItemsSource中的对象配对以填充SelectedValue,或者更好地解决我的问题。

THX

1 个答案:

答案 0 :(得分:0)

您可以通过SelectedItem属性为组合框设置默认值,该属性将绑定到ViewModel中的文本字段:

SelectedItem="{Binding Path=Text, Mode=TwoWay}"

所以你的组合框元素会变成这样:

<ComboBox x:Name="FieldComboBox" IsEditable="True" IsTextSearchEnabled="True"                          
          Text="{Binding Text, UpdateSourceTrigger=PropertyChanged}"
          SelectedItem="{Binding Path=Text, Mode=TwoWay}"
          DisplayMemberPath="DataCode" 
          ItemsSource="{Binding FieldAlternative.FieldParts[0].DataItems}"
          ToolTip="{Binding Path=SelectedItem.Description, ElementName=FieldComboBox}"/>