2016-08-18 111 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}"/> 
相關問題