C# 在模板中制作 ObservableCollection<T>
C# make ObservableCollection<T> in Template
我正在尝试做 Combobox,它可以显示一些 2 类,
- 员工
- 雇主
显然,两者 类 都有 EditAble 变量
private ObservableCollection<Employer> _itemsEmployer
private ObservableCollection<Employee> _itemsEmployee
public ObservableCollection<T> Items, where T : Employee, Employer
{
get
{
return _itemsEmployee;
}
set
{
if (_itemsEmployee == value)
{
return;
}
_itemsEmployee = value;
}
}
组合框:
<ComboBox x:Name="cbx"
IsTextSearchEnabled="True"
TextSearch.Text="EditAble"
ItemsSource="{Binding Items}" IsEditable="True"
DisplayMemberPath="EditAble"
Text="{Binding AddedText,UpdateSourceTrigger=PropertyChanged,Mode=TwoWay}"
Canvas.Left="78" Canvas.Top="48" Width="259">
属性不能定义通用约束。您需要有一个 Employee 和 Employer 的基础 class - 例如人。这样集合就可以同时包含 Employees 和 Employers。
private ObservableCollection<Person> _persons = new ObservableCollection<Person>();
public ObservableCollection<Person> Items
{
get
{
return _persons;
}
set
{
if (value == _persons)
{
return;
}
_persons = value;
}
}
我正在尝试做 Combobox,它可以显示一些 2 类, - 员工 - 雇主 显然,两者 类 都有 EditAble 变量
private ObservableCollection<Employer> _itemsEmployer
private ObservableCollection<Employee> _itemsEmployee
public ObservableCollection<T> Items, where T : Employee, Employer
{
get
{
return _itemsEmployee;
}
set
{
if (_itemsEmployee == value)
{
return;
}
_itemsEmployee = value;
}
}
组合框:
<ComboBox x:Name="cbx"
IsTextSearchEnabled="True"
TextSearch.Text="EditAble"
ItemsSource="{Binding Items}" IsEditable="True"
DisplayMemberPath="EditAble"
Text="{Binding AddedText,UpdateSourceTrigger=PropertyChanged,Mode=TwoWay}"
Canvas.Left="78" Canvas.Top="48" Width="259">
属性不能定义通用约束。您需要有一个 Employee 和 Employer 的基础 class - 例如人。这样集合就可以同时包含 Employees 和 Employers。
private ObservableCollection<Person> _persons = new ObservableCollection<Person>();
public ObservableCollection<Person> Items
{
get
{
return _persons;
}
set
{
if (value == _persons)
{
return;
}
_persons = value;
}
}