2016-08-18 1 views
0

Es ist Beispiel Combobox, in dem alles gut funktioniert und ausgewählter Wert variiert je nach Änderungen CurrentPlanSet.Wie legt man den Wert der SelectedItem-Eigenschaft in der Combobox BarItem deevexpress fest?

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

In diesem Beispiel ändert sich der ausgewählte Wert nicht in Abhängigkeit von CurrentPlanSet-Änderungen.

<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> 

Wie wird der Wert der SelectedItem-Eigenschaft im zweiten Codebeispiel korrekt festgelegt?

Antwort

1

SelectedIndex ist nicht dasselbe wie SelectedItem. Dies ist das gleiche wie bei den standardmäßigen WPF-Steuerelementen.

SelectedIndex ist der Index des CollectionItem, den Sie ausgewählt/gesetzt haben (Integer). Das SelectedItem ist das Item-Objekt selbst.

Beispiel: Lässt diese Sammlung nehmen: new ObservableCollection<string>(){ "String1", "String2", String3"} Wenn die SelectedItem ist/sollte String1 sein die SelectedIndex ist 0.

So ersetzen Sie einfach

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

mit

<Setter Property="SelectedItem" Value="{Binding CurrentPlanSet, Mode=TwoWay}"/> 
Verwandte Themen