2009-07-13 4 views
0

Wie legen Sie das in combobox ausgewählte Element in xaml fest? Ich habe versucht, so etwas zu tun:ComboBox Ausgewähltes Element in WPF

<ComboBox x:Name="cmbProject" 
    ItemsSource="{Binding Project}" 
    DisplayMemberPath="Name" 
    SelectedValuePath="Id" 
    SelectedItem="{Binding Path=Project,Mode=TwoWay}" 
    SelectedValue="{Binding Path=Id,Mode=OneWay}"/> 

Der obige Code funktioniert nicht. Ich weiß nicht, wo ich falsch liege.

Antwort

0

Die ItemsSource Eigenschaft sollte eine Sammlung sein, dh Projects oder ProjectList, denke ich ... Auch Sie nur die DisplayMemberPath und die SelectedValue festlegen müssen:

<ComboBox x:Name="cmbProject" ItemsSource="{Binding Projects}" 
      DisplayMemberPath="Name" 
      SelectedValue="{Binding Project, Mode=TwoWay}" /> 

Update: auf der Grundlage der Informationen in der der Code kommentiert wird:

<ComboBox x:Name="cmbProjectStatus" 
      ItemsSource="{Binding ProjectStatuses}" 
      DisplayMemberPath="Name" 
      SelectedValuePath="ID" 
      SelectedValue="{Binding Path=ProjectStatus.ID}" 
      SelectedItem="{Binding Path=ProjectStatus}" /> 

die DataContext eine ProjectStatus Eigenschaft des Typs hat ProjectStatus und einem ProjectStatuses Immobilien des Typs ObservableCollection<ProjectStatus>.

+0

Ich habe es versucht, aber es zeigt immer noch nicht das ausgewählte Element in der Combobox. –

+0

Es funktionierte für mich, als ich versuchte, wie Sie den ausgewählten Artikel einstellen? Können Sie den Code posten? –

+0

0

Haben Sie versucht, IsSynchronizedWithCurrentItem="True" für die Combobox zu setzen? Das hat für mich funktioniert.