In meiner WPF-Anwendung habe ich ein Kombinationsfeld. Es bindet Daten nach MVVM-Entwurfsmuster. Es funktioniert gut.Festlegen des Werts Wenn das Kombinationsfeld den Wert in WPF nicht ändert MVVM-Muster
Im XAML
<ComboBox x:Name="comboBox1" ItemsSource="{Binding ValetType}" DisplayMemberPath="Name"
SelectedItem="{Binding SelectedItemValet, Mode=TwoWay}" IsSynchronizedWithCurrentItem="True"/>
Im Ansichtsmodell
valetTypes = GetValueForValet();
public ObservableCollection<Valet> ValetType
{
get { return valetTypes; }
set { valetTypes = value; NotifyPropertyChanged("ValetType"); }
}
public Valet SelectedItemValet
{
get { return selectedItemValet;}
set { selectedItemValet = value; NotifyPropertyChanged("SelectedItemValet"); }
}
Eines der Probleme, die ich Gesicht ist, dass, wenn ich bindet nicht das Kombinationsfeld Wert ändern es null, sonst bindet es. Ich setze IsSynchronizedWithCurrentItem als "true" fest und teilt einem Selector mit, dass das SelectedItem mit dem aktuellen Element synchronisiert werden soll. Aber würde nicht funktionieren. Wie könnte ich das tun? Ich bin neu bei WPF MVVM.
Wenn Sie einen Standardwert in Ihrem SelectedItemValet wollen, müssen Sie es einrichten, entweder in Ihrem Ansichtsmodell oder in Ihrem XAML: in XAML, setzen Sie SelectedIndex to 0, in cs set selectedItemValet auf etwas setzen – nkoniishvt
In Ihrem ViewModel, nach dem Laden von 'ValetType', tun Sie etwas wie' this.SelectedItemValet = ValetType.FirstOrDefault(); ' – Pikoh
Comb-Box zeigt keine ausgewählten Artikel –