Ich habe ein Problem. Ich habe eine Auto-Klasse mit string
Marke, string
Modell, .. Ich habe auch eine Ansicht mit einer ComboBox
mit Daten. Wenn ich einen Artikel aus der ComboBox
"AutoMarke" oder der ComboBox
"AutoModell" auswähle und auf eine Schaltfläche klicke, möchte ich ein neues Auto-Objekt erstellen. Aber nach dem Klicken auf den Knopf liefert der carBrand.SelectedValue.ToString()
einen Null
Wert, selbe für carModel, obwohl ich einen Artikel vom ComboBox
auswählte.MVVM SelectedValue von ComboBox gibt Null
In meinem VMClass:
Add a1 = new Add();
c_car m1 = param as c_car;
a1.DataContext = m1;
a1.ShowDialog();
if (a1.DialogResult.HasValue && a1.DialogResult.Value)
{
m1.c_brand = a1.carBrand.SelectedValue.ToString(); //causes NullReferenceException
m1.c_model = a1.carModel.SelectedValue.ToString(); //causes NullReferenceException
m1.c_year = a1.carYear.Content.ToString(); //this works perfectly
m1.c_km = Int32.Parse(a1.carKm.Content.ToString()); //this also works properly
//...
}
meine Ansicht Klasse Jetzt:
<!--CarModel ComboBox-->
<ComboBox x:Name="carModel" Style="{StaticResource combobox}" Grid.Column="1"
Margin="20,15,17,14"
ItemsSource="{Binding ModelSelectedBrand}" DisplayMemberPath="c_model" MouseLeave="carModel_MouseLeave"
Grid.Row="2" VerticalAlignment="Center" Height="30" MouseDoubleClick="carModel_MouseDoubleClick">
</ComboBox>
<!--CarYear EditableLabel-->
<Label x:Name="carYear" Content="{Binding ElementName=carModel, Path=SelectedValue.c_year}" Margin="20,14,17,14"
Style="{StaticResource EditableLabelStyle}" Foreground="White"
Grid.Column="1" Grid.Row="5" VerticalAlignment="Center" Height="30">
</Label>
<!--CarKM EditableLabel-->
<Label x:Name="carKm"
Content="{Binding ElementName=carModel, Path=SelectedItem.c_km}" Style="{StaticResource EditableLabelStyle}"
Margin="20,14,17,14"
Grid.Column="1" Grid.Row="3" Foreground="White" VerticalAlignment="Center" Height="30">
</Label>
Ich hoffe, dass mir jemand Festsetzung dieses Problem helfen kann.
Vielen Dank im Voraus!
versuchen, eine ausgewählte Eigenschaft an die ausgewählteEinheit in der Combobox zu binden – sexta13
Ist Ihr 'autoBrand.SelectedValue' null? Ich kann dieses Element in Ihrem XAML nicht sehen. Idealerweise sollten Sie Ihren 'SelectedValue' an eine Eigenschaft Ihres Ansichtsmodells binden (wahrscheinlich, wo Sie jetzt Ihre' ItemsSource' binden) und sie von dort abrufen. – vesan