c# - 基于对象的组合框选择项目
问题描述
所以我在做一个小客户管理程序,只是为了学习。
我有一个“客户”类,其中包含:姓名、姓氏、年龄、性别等等。我从 Json 文件加载我的数据并用它填充一个 Observable 集合。现在如下面的屏幕截图所示,我想要一个组合框来显示我选择的客户的性别及其工作。问题是 ComboBox 有很多选项可供选择,因为我在我的 Observable 集合中获得了客户。所以我想用我的组合框编辑我选择的客户的性别,因此它应该只有 2 个选项可供选择:男性,女性。
XAML:
绑定路径客户是我的 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>
谢谢你的帮助!(对不起我的语法不好..)
解决方案
所以我现在运行良好。我改变了我的客户类别:
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 });
}
现在它工作正常,只适用于将来有同样问题的人:)
推荐阅读
- google-cloud-platform - 查看用户何时添加到 GCP 项目的方法
- r - for 循环不通过下一个元素
- python - 任务计划程序批处理文件启动 Python 脚本并且随机不产生输出 ~20% 的时间
- reactjs - 当我运行命令纱线时,我不断得到未满足的对等依赖。如何摆脱那些警告
- swiftui - SwiftUI:将 Binding 转换为另一个 Binding
- python - UnicodeEncodeError:“latin-1”编解码器无法在位置 693195 编码字符“\u25bc”:序数不在范围内(256)
- android - 通过我的应用程序使用 WCF。我收到参考端点警告
- python-3.x - 可视化特征图
- java - Groovy / Gradle / Spock:运行测试时出现 IncompatibleClassChangeError
- azure - Azure 应用服务 - 文件完整性监控 (FIM)