我正在评估将一个非常新的项目从Caliburn Micro迁移到Catel .. 我想与您分享我的想法,并从您那里获得反馈
让我们从我的应用结构开始:
现在几乎可以清楚我的问题所在的结构:
由于
关于模型的说明
考虑到Person类型的对象,它将通过Servicestack
从webservice加载[Alias("Person")]
public class Person
{
[Alias("NAME")]
public string Name {get;set;}
[Alias("SURNAME")]
public string Surname {get;set;}
}
这将作为IList返回,并可能加载到GridView
中现在用户想要编辑它,所以我将这个Person加载到另一个名为UpdatePersonViewModel的视图模型中(以弹出窗口显示)
如果我没有像你在样本中那样实现它,我就无法使用Catel验证等等吗?所以也许我可以创建一个PersonModel,它接受Person作为Constructor参数,然后创建对象,这是对的吗?
5.对于SimpleInjector,我在阅读this帖后很久以前就开始使用它了
我可以在表格中附上一条消息
cal:Message.Attach="[Event DataLoading] = "[Action Something($eventArgs)"] .
在Catel中,我应该如何绑定该事件?
答案 0 :(得分:1)
顺便说一句。您可能对Orchestra感兴趣,它是我们在Catel for WPF应用程序(NET 40和NET 45)之上构建的shell,其中包含许多不错的功能,例如完全可自定义的键盘快捷键,闪屏,等)
3.1:请参阅EventToCommand或Catel附带的许多其他行为和触发器。
基准测试非常好,但你应该记住你实际做了多少。你可能最多每秒注射2/3 vm,你不会注意到任何差异。但如果你真的想,请查看this documentation on how to replace the default components。
您仍然可以使用验证,但必须在视图模型中实现验证。这对于您的网格来说很复杂,因此最好创建一个可以自我验证的包装器。因此,您确实可以创建一个 ValidatablePerson 类来验证此人并包装它的属性(或仅仅实现验证)。可以使用T4模板轻松完成。