ComboBox Select 基于对象的项目

ComboBox Select Item based on Object

所以我正在做一个小的客户管理程序,只是为了学习目的。

我有一个 class“客户”,其中包含:姓名、姓氏、年龄、性别等等。 我正在从 Json 文件加载我的数据并用它填充一个 Observable 集合。 现在我的屏幕截图如下所示,我想要一个组合框来显示我选择的客户的性别及其工作方式。问题是 ComboBox 有很多选项可供选择,因为我在我的 Observable 集合中获得了 Customers。 所以我想用我的组合框编辑我选择的客户的性别,因此它应该只有 2 个选项可供选择:男性、女性。

XAML:

Binding Path Customers 是我的 Observable 集合的名称。

<ComboBox x:Name="ComboBoxGender" 
                          ItemsSource="{Binding Path=Customers}"
                          DisplayMemberPath="Gender"
                          SelectedValuePath="Gender"
                          SelectedValue="{Binding Path=SelectedCustomer.Gender}"
                          Grid.Row="3" HorizontalAlignment="Right" 
                          VerticalAlignment="Center" 
                          Height="20" Width="130" Margin="0,0,5,0">
                </ComboBox>

感谢您的帮助! (抱歉我的语法不好..)

所以我现在明白了 运行。 我改变了我的客户 Class:

int Age {get; set;}
....
public Gender _Gender { get; set; }

public enum Gender
{
   Male, Female
}

我改变了我的 XAML:

<ComboBox x:Name="ComboBoxGender"
                          ItemsSource="{Binding Genderlist}"
                          DisplayMemberPath="_Gender"
                          SelectedValuePath="_Gender"                       
                          SelectedValue="{Binding SelectedCustomer._Gender}"
                          Grid.Row="3" HorizontalAlignment="Right" 
                          VerticalAlignment="Center" 
                          Height="20" Width="130" Margin="0,0,5,0">
                </ComboBox>

我的物品来源是:

private ObservableCollection<Customer> _genders = new ObservableCollection<Customer>();

public MainModel()
        {
            _genders.Add(new Customer { _Gender = Customer.Gender.Herr });
            _genders.Add(new Customer { _Gender = Customer.Gender.Frau });
        }

现在可以正常使用了,只是为了以后遇到同样问题的人:)