ComboBox和ObservableCollection的问题<;字符串>;
本文关键字:lt 字符串 gt 问题 ObservableCollection ComboBox | 更新日期: 2023-09-27 18:22:12
这是我的组合框的Xaml:
<ComboBox Grid.Column="4"
Grid.Row="3"
ItemsSource="{Binding Path=Users, Mode=TwoWay, RelativeSource={RelativeSource AncestorType={x:Type cs:AdvancedSettingEditor}}}"
Margin="5"
x:Name="UserPicker"
SelectedValue="{Binding Path=StandAloneUserName, Mode=TwoWay}"
TabIndex="1"
Visibility="{Binding Converter={StaticResource InvertedBoolToVisibility}, Path=LoginRequired}" />
在后面的代码中,我有一个简单的字符串ObservableCollection:
public ObservableCollection<string> Users { get; set; }
Users集合是用数据库中的字符串数据加载的。
还有一个DependencyProperty绑定到窗口的DataContext,该窗口具有一个名为StandAloneUserName的属性。存储在此属性中的对象实现INotifyPropertyChanged。
当我运行程序时,组合框的下拉列表中有Users集合中的所有名称,但该框为空。控件没有丢失字段的值,因此它不知道要显示什么。
如何让我的组合框显示StandAloneUserName属性中的名称?
Tony
设置SelectedItem
而不是SelectedValue
<ComboBox SelectedItem="{Binding Path=StandAloneUserName, Mode=TwoWay}" ... />
我假设它被评估为"不存在",因为您没有将SelectedValuePath
设置为任何值。