【问题标题】:ComboBox Selected Item in WPFWPF中的组合框选定项
【发布时间】:2009-07-13 14:37:35
【问题描述】:
xaml 中如何设置组合框选中项?
我尝试过这样的事情:
<ComboBox x:Name="cmbProject"
ItemsSource="{Binding Project}"
DisplayMemberPath="Name"
SelectedValuePath="Id"
SelectedItem="{Binding Path=Project,Mode=TwoWay}"
SelectedValue="{Binding Path=Id,Mode=OneWay}"/>
上面的代码不起作用。我不知道我哪里出错了。
【问题讨论】:
标签:
wpf
xaml
data-binding
combobox
wpf-controls
【解决方案1】:
ItemsSource 属性应该是一个集合,即Projects 或ProjectList,我猜……另外,您只需要设置DisplayMemberPath 和SelectedValue:
<ComboBox x:Name="cmbProject" ItemsSource="{Binding Projects}"
DisplayMemberPath="Name"
SelectedValue="{Binding Project, Mode=TwoWay}" />
更新:根据 cmets 中的信息,代码变为:
<ComboBox x:Name="cmbProjectStatus"
ItemsSource="{Binding ProjectStatuses}"
DisplayMemberPath="Name"
SelectedValuePath="ID"
SelectedValue="{Binding Path=ProjectStatus.ID}"
SelectedItem="{Binding Path=ProjectStatus}" />
DataContext 具有 ProjectStatus 类型的 ProjectStatus 属性和 ProjectStatuses 类型的 ObservableCollection<ProjectStatus> 属性。
【解决方案2】:
您是否尝试为组合框设置IsSynchronizedWithCurrentItem="True"?
这对我有用。