我尝试使用MVVM风格的方法进行WPF开发。
我将逻辑视图模型类放在ViewModel命名空间下,并且为这些视图模型类设置了匹配的样式,放在View命名空间中。
目前,我将View信息作为DataTemplates和Styles保存在ResourceDictionary XAML文件中,并将它们全部合并到app.xaml中的单个App.Resources ResourceDictionary中。
然而,我遇到了一种鸡生蛋/蛋生鸡的问题。我想要有全局样式可以在许多地方使用。例如,我想要自定义一个叫做MonkeyText的文本样式,可以在各种样式中使用。我不能只在app.xaml文件中设置这个样式,因为会使用MonkeyText的ResourceDictionary也被包含在那个app.xaml文件中。
如果这是不可能的,那么另一种选择是使用UserControl来建立我的视图,而不是大多数情况下使用DataTemplate。但我担心使用UserControl会将VM和V部分联系得太紧密。