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 });
}
现在可以正常使用了,只是为了以后遇到同样问题的人:)
所以我正在做一个小的客户管理程序,只是为了学习目的。
我有一个 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 });
}
现在可以正常使用了,只是为了以后遇到同样问题的人:)