我正在创建一个多Combobox
选,允许用户从combobox
. 到目前为止,我已经通过使用ObservableCollection<string>
. 我希望能够保存EntityFramework model
我已经成功使用的这个集合,比如
构造函数;
public EmployeeViewModel(DataObjects.Employee e) //Constructor that takes in an employee from EF
: base("")
{
//BenefitsProvided = e.BenefitsProvided; //What I did previously. BenefitsProvided is the field in employee table.
_benefits = new ObservableCollection<string>();
string[] benefit = e.BenefitsProvided.Split(new char[] { ',' }, StringSplitOptions.None);
foreach (var str in benefit)
{
_benefits.Add(str);
}
}
在第一次启动时,我得到一个列表,它允许我看到一个很好的项目列表,我可以选择任意数量的项目。但是,当我尝试编辑项目时,它会在ComboBox
其中显示;
前;
保存后;
捆绑;
<src:MultiComboBox Grid.Column="1" Grid.Row="9"
SelectionMode="Multiple"
VerticalAlignment="Center"
DisplaySeparator=", "
ItemsSource="{Binding Benefits}"
SelectedItems="{Binding SelectedBenefits}">
</src:MultiComboBox>
我尝试的是而不是像这样接受ObservableCollection<String>
aa ObservableCollection<OfAClass>
;
public class CurrentBenefits
{
private string[] _Allowed = new string[] {"items", "..."};
public string[] Allowed
{
get { return _Allowed; }
set { _Allowed = value; }
}
}
但是当这样做时,并将其更改<string>
为<CurrentBenefit>
它会在构造函数周围引发此异常;
错误 2 参数 1:无法从 'string' 转换为 '...CurrentBenefits'
错误 1 'System.Collections.ObjectModel.Collection<...CurrentBenefits>.Add(...CurrentBenefits)' 的最佳重载方法匹配有一些无效参数
谁能帮助或建议我应该做些什么来解决我遇到的这个问题?提前致谢 :)。
编辑: 另外,很抱歉这么长的问题。