2016-08-18 112 views
0

这是一个例子Combobox,其中一切正常,选定的值根据CurrentPlanSet的变化而变化。如何在devexpress组合框BarItem中设置SelectedItem属性的值?

 <dxe:ComboBoxEdit ItemsSource="{Binding PlanSets, Mode=TwoWay}" 
           DisplayMember="Name" 
           ValueMember="Name" 
           SelectedItem="{Binding CurrentPlanSet, Mode=TwoWay}" 
           /> 

在此示例中,所选值不会根据CurrentPlanSet更改而更改。

<dxb:BarEditItem Content="Plan Sets" EditWidth="350"> 
       <dxb:BarEditItem.EditStyle> 
        <Style TargetType="{x:Type dxe:ComboBoxEdit}"> 
         <Setter Property="SelectedIndex" Value="{Binding  CurrentPlanSet, Mode=TwoWay}"/> 
        </Style> 
       </dxb:BarEditItem.EditStyle> 
       <dxb:BarEditItem.EditSettings > 
        <dxe:ComboBoxEditSettings ItemsSource="{Binding PlanSets, Mode=TwoWay}" ValueMember="Id" DisplayMember="Name" /> 
       </dxb:BarEditItem.EditSettings> 
      </dxb:BarEditItem> 

如何在第二个代码示例中正确设置SelectedItem属性的值?

回答

1

SelectedIndex与SelectedItem不同。 这与默认的WPF控件相同。

SelectedIndex是CollectionItem的索引,您已选择/设置了选择(整数)。 SelectedItem是Item对象本身。

例子: 让我们借此收集:如果是的SelectedItem new ObservableCollection<string>(){ "String1", "String2", String3"} /应String1中的的SelectedIndex为0

所以只需更换

<Setter Property="SelectedIndex" Value="{Binding CurrentPlanSet, Mode=TwoWay}"/> 

<Setter Property="SelectedItem" Value="{Binding CurrentPlanSet, Mode=TwoWay}"/> 
相关问题