<ComboBox
x:Name="comboBox"
Margin="281.4,160,259.995,159.958"
d:LayoutOverrides="Height"
ItemsSource="{Binding _US_STATES}"
SelectedIndex="0"
SelectedValue="{Binding SelectedState}"
SelectedValuePath="{Binding Path=_US_STATES/SHORT}"
>
<ComboBox.ItemTemplate>
<DataTemplate>
<Border Padding="2">
<TextBlock Text="{Binding LONG}" />
</Border>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
Das obige ist meine Xaml-Version einer ComboBox, die ich anzeige. Ich kann es richtig anzeigen, weil es die richtigen Daten anzeigt. Wenn ich versuche, den Wert zu erhalten, der ausgewählt ist, ist es immer RxTracking.model.US_STATES nicht der Wert, den es sein sollte.wpf Combobox SelectedValue Klassenname anstelle der Eigenschaft erhalten
Die US_STATES sieht wie folgt aus:
public class US_STATES : ObservableObject
{
private string _long;
private string _short;
public string LONG
{
get { return _long; }
set { Set("LONG", ref _long, value); }
}
public string SHORT
{
get { return _short; }
set { Set("SHORT", ref _short, value); }
}
public static ObservableCollection<US_STATES> GetAllStates()
{
ObservableCollection<US_STATES> ALL = new ObservableCollection<US_STATES>
{
new US_STATES {LONG="ALABAMA",SHORT="AL" },
new US_STATES {LONG="Alaska", SHORT = "AK"},
new US_STATES {LONG = "Arizona", SHORT = "AZ"},
etc ...
ich dies immer im Fehlerfenster ist:
System.Windows.Data Error: 40 : BindingExpression path error: 'AL' property not found on 'object' ''US_STATES' (HashCode=8402670)'. BindingExpression:Path=AL; DataItem='US_STATES' (HashCode=8402670); target element is 'ComboBox' (Name='comboBox'); target property is 'NoTarget' (type 'Object')
System.Windows.Data Error: 40 : BindingExpression path error: 'AL' property not found on 'object' ''US_STATES' (HashCode=15232780)'. BindingExpression:Path=AL; DataItem='US_STATES' (HashCode=15232780); target element is 'ComboBox' (Name='comboBox'); target property is 'NoTarget' (type 'Object')
Mögliches Duplikat von [WPF IsEditable = true Mit Objekten gefüllte ComboBox zeigt die ToString() als ausgewähltes Element an] (https://stackoverflow.com/questions/1844156/wpf-iseditable-true-combobox-filled-with- Objekte-zeigt-die-Zahnring-als-die) –