我看你不希望覆盖的ToString()在型号,这是有道理的。但是,如果您将查看(xaml代码)绑定到您的模型那么您错过了拥有中间人的好处:ViewModel。
我会做你的情况是ApplicationList包装用视图模型的单个项目。我们假设ApplicationList是ApplicationModel的集合,所以也许ObservableCollection。如果您更改为的ObservableCollection < ** ApplicationViewModel>,其中每个** ApplicationViewModel有一个私有引用的应用模型你可以去疯狂与该对象的代表性。你可以投入ToString,创建日期时间,以及所有与用户界面相关的东西,而不必与你的模型猴子。
public class ApplicationViewModel
{
private ApplicationModel _application;
private DateTime _creationDate;
public ApplicationViewModel(ApplicationModel application)
{
_application = application;
_creationDate = DateTime.Now;
}
public override string ToString()
{
return _application.ApplicationName + ", " + _creationDate.ToString();
}
}
的一点是,没有类可以触摸你的应用模型类除了通过ApplicationViewModel类的严格控制,同时给您提供相关的用户界面的东西打转转完整能力。对每个班级做这个,你永远不会回头。另一个好处是,你可以非常容易地测试你的模型类没有UI的东西妨碍。
当人们给了我很多有趣的想法,你的是唯一一个不需要搞乱对象模型的人。 – 2010-07-10 04:07:56