在WPF C#应用程序中设置默认值的位置?

问题描述:

我将在哪里设置我想在整个项目中使用的默认值,并且只定义一次?在WPF C#应用程序中设置默认值的位置?

一个例子是默认边距,或者我想在多个位置使用的颜色。

在纯C中,一种方法是使用带“#define”的“defaults.h”头文件。

要做到这一点,最简单的方法是将其存储在应用程序的资源字典,无论是在标记(在app.xaml<Application.Resources>元素)或通过在启动时在代码中创建它们,并将它们添加到资源字典。

只要您对资源键具有一致的应用程序范围的命名约定,就可以轻松地完成一些非常复杂的工作。例如,通过在XAML文件中构建资源字典,然后在启动时将特定的字典合并到应用程序的字典中,可以很容易地在应用程序中实现简单的外观。

您可以使用app.config文件的appsettings部分。有关更多信息,请参阅here

+0

我真正想要的是与设置有些不同,我想定义永不改变的静态对象。例如“Thickness DefaultUIMargin = new Thickness(5);” – mrueg 2010-01-30 13:00:53

如果您想在整个应用程序中使用常见外观和样式,那么可以使用资源和模板来完成大部分工作。

编辑:根据您的评论,看看x:Static可能就是您要做的。 Here's a SO question covering it.如果这还不够,那就试试更多一点。

This is what I first read when playing around with WPF explaining it.