C#学习教程:WPF ComboBox绑定到ObservableCollection分享


WPF ComboBox绑定到ObservableCollection

我是WPF的新手我有一个问题。 我有组织模块:

class Organization : ObservableObject { public string OrganizationName { get; set; } } 

我有组织的ViewModel:

 class OrganizationViewModel : ObservableObject { int _count = 0; public OrganizationViewModel() { Organization = new Organization {OrganizationName = "New Organization"}; } public Organization Organization { get; set; } public string OrganizationName { get { return Organization.OrganizationName; } set { if(Organization.OrganizationName != value) { Organization.OrganizationName = value; RaisePropertyChanged("OrganizationName"); } } } 

我有所有组织的ViewModel:

 class AllOrganizationsViewModel { private ObservableCollection m_organizations = new ObservableCollection(); public ObservableCollection Organizations { get { return m_organizations; } set { m_organizations = value; } } public AllOrganizationsViewModel() { for(int i = 0; i < 3; ++i) { m_organizations.Add(new OrganizationViewModel()); } } void AddOrganizationNameExecute() { m_organizations.Add(new OrganizationViewModel()); } bool CanAddOrganizationNameExecute() { return true; } public ICommand AddOrganization{get{return new RelayCommand(AddOrganizationNameExecute, CanAddOrganizationNameExecute);}} } 

这是MainWindow.xaml:

              

现在,我在ComboBox项中得到的是OrganizationViewModel类的名称,但我需要的是OrganizationName字符串。 在我看来,我有一些组织名称的绑定,但我无法弄清楚在哪里添加if(如果这是问题)。 我假设我可以使用我需要的组织的名称来创建字符串集合。 但是将来我需要组织类中的更多属性,这就是我需要它的工作方式。

我将不胜感激任何帮助

您需要添加DisplayMemberPath

  

另一种方法可以是定义ItemTemplate。 它为显示提供了更大的灵活性

上述就是C#学习教程:WPF ComboBox绑定到ObservableCollection分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—猴子技术宅(www.ssfiction.com)

         

本文来自网络收集,不代表猴子技术宅立场,如涉及侵权请点击右边联系管理员删除。

如若转载,请注明出处:https://www.ssfiction.com/ckf/1031822.html

发表评论

邮箱地址不会被公开。 必填项已用*标注