我应该在模块化的Prism WPF应用程序中将公共字符串资源和公共XAML ResourceDictionary放在何处?

时间:2016-02-22 15:49:55

标签: c# wpf mvvm prism

在我的Prism WPF模块化应用程序中,我需要以下常见的共享数据:1)两个字符串,其中包含shell窗口的区域',2)ResourceDictionary具有通用样式的radiobuttons(在模块中定义)。以下是我的应用程序窗口运行时的屏幕截图。

enter image description here

以下是我的应用程序中的模块结构:

enter image description here

AuthorizationNavigationItemView.xaml和AuthorizationNavigationItemViewModel.cs相应地是“Athorization”radiobutton及其视图模型。而且CalibrationNavigationItemView.xaml和CalibrationNavigationItemViewModel.cs相应地是“校准”单选按钮及其视图模型。稍后,模块的数量(和相应的单选按钮)将达到20-25,并且所有这些模块都需要在共同的ResourceDictionary中使用共同的样式。除此之外,所有模块都需要共同的资源 - 两个字符串,它们是shell窗口中区域的名称:“MainNavigationRegion”和“MainContentRegion”。我应该在应用程序中放置常见的ResourceDictionary和常用字符串资源?我们将非常感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

这取决于您对此Resource文件的处理方式。通常我将独立项目的所有字符串/文本资源分开。这是因为我的应用需要本地化,翻译等。所以这个文件将被其他人审查/更改。所以StylesTemplates资源 - 这对设计师而言。请注意,设计人员通常会在Blend或其他工具中重新构建项目/解决方案,因此该资源项目应该对其他项目进行最少的引用(理想情况下它不应该引用任何其他项目)

所以 - 如果你在团队中工作而其他人将在你的应用程序中操作text / string / styles / etc ..我建议你创建单独的独立项目,以便其他人可以轻松地更改它。考虑到这个项目在交付过程中可能会很晚,所以你应该创建一些通用/不变资源并使用它直到“真实”文件进来