在我的 C# 应用程序中,我正在调用一个返回数组的方法:
projectArray = client.getProjectList(username, password);
因为我想使用 MVVM 模式将应用程序重构为 WPF,所以我应该使用ObservableCollection
项目列表。
我的视图模型包含:
// Members
CProject[] projectArray;
ObservableCollection<CProject> projectList;
// Properties
public ObservableCollection<CProject> ProjectList {
get { return projectList; }
set {
projectList = value;
OnPropertyChanged("ProjectList");
}
}
以及设置属性的代码:
projectArray = client.getProjectList(username, password);
projectList = new ObservableCollection<CProject>(projectArray);
this.ProjectList = projectList;
问题来了。我的视图包含一个绑定到视图模型ProjectList
属性的组合框。绑定工作正常。但是,组合框显示的值如MyApp.SoapApi.CProject
. 我想显示可通过CProject.database.name
.
这样做的适当和正确方法是什么?我尝试使用projectList = value.database.name
,但这是一个与属性类型冲突的字符串CProject
。