【发布时间】:2011-11-21 19:15:42
【问题描述】:
我已经为我的问题寻找解决方案已经有一段时间了,所以现在我将在这里发布一些代码!
我正在使用 MVVM 处理我的应用程序中的数据,问题涉及以下两个 ViewModel 类
public class vmProject : vmBase
{
private Project project;
public User Owner
{
get { return project.Owner; }
set {project.Owner = value; OnPropertyChanged("Owner"); }
}
public vmProject(Project project)
{
this.project = project;
}
}
public class User
{
public int Id { get; set; }
public string ShortName { get; set; }
public string FullName { get; set; }
}
我将所有项目加载到 ObservableCollection 中,并将所有用户加载到 ObservableCollection 中。 现在我想在 DataGrid 中显示所有项目,其中包含显示用户 ShortName 的 ComboBox。数据网格还应该有一个文本列,用于显示所有者的全名。
我的问题是,我不知道应该使用 DataGridComboBoxColumn 还是 DataGridTemplateColumn。以及如何在它们中的每一个中使用数据绑定......
当用户在组合框中选择新所有者时,模型以及 FullName 列应更新。
有什么解决办法吗?
【问题讨论】:
-
为什么要使用组合框来显示 ShortName?试试 autoGenerateColumn,看看您是否对网格为您生成的内容不满意。
-
即时调查:如果帖子标签编辑器放置在标题上方,那么您要做的第一件事就是为您的问题添加标签,您是否会 a) 更有可能 b) 可能 c)不太可能在标题前加上标签?
-
@Will 我认为这实际上是个好主意。除了(希望)帮助将标签排除在问题标题之外,它还可用于提高“具有相似标题的问题”搜索的相关性