Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 设计时资源字典_C#_Wpf_Xaml_Styles - Fatal编程技术网

C# 设计时资源字典

C# 设计时资源字典,c#,wpf,xaml,styles,C#,Wpf,Xaml,Styles,我创建了类似和的东西。 实际上,我有一个dll,它为我的应用程序提供了一个“样式器”——它包含我所有的基本样式以及一个在应用程序上调用stylefactory.DefaultStyler.ApplyStyles(this)——它将提供的ResourceDictionary与现有的ResourceDictionary合并在一起的工厂。这样,我不需要组件中的所有基本样式,也不需要对sesource xaml文件的显式引用。 现在,虽然这是真正的好工作。样式(显然)在设计期间不可见 对于我的问题: 这

我创建了类似和的东西。
实际上,我有一个dll,它为我的应用程序提供了一个“样式器”——它包含我所有的基本样式以及一个在应用程序上调用
stylefactory.DefaultStyler.ApplyStyles(this)
——它将提供的ResourceDictionary与现有的ResourceDictionary合并在一起的工厂。这样,我不需要组件中的所有基本样式,也不需要对sesource xaml文件的显式引用。
现在,虽然这是真正的好工作。样式(显然)在设计期间不可见 对于我的问题:

  • 这种方法是明智的,还是部署xaml资源并在每个应用程序/窗口/控件中使用它们会更好
  • 有人认为有可能将我的风格应用于VS2008的设计时显示吗

  • 在我看来,这是一个可以接受的方法。原因是,我还没有看到更好的方法

    在我自己的例子中,我已经在运行时加载了资源字典,我认为这也适用于从其他程序集加载资源。缺点是设计器不会首先运行此代码,这意味着默认情况下不会应用任何样式,即您正在体验的样式


    为了解决这个问题,我在设计时需要编辑的每个
    中添加了一个默认的
    定义。虽然这最终有点多余,但这允许我有一个工作的设计时窗口,而适当的MergedDictionary可以稍后在运行时加载。也许你可以用这个来找到一个更好的方法。

    Will,你在问题#786183中描述的内容正是我正在做的,但是我将xaml文件作为嵌入式资源。因此,要按照您的建议执行,我还必须复制资源文件…即使资源文件作为另一个DLL中的嵌入式资源,我认为包含中所述的资源也应该有效。你试过了吗?是的,不是的,当然-如果我包括设计师会展示的资源,但是我会让资源加倍并被绊倒。我开始觉得最好只构建一个xaml文件,使用svn:external包含在源代码中-这样我就可以确保只有一个“真实”副本,并让设计师显示更改…因为这个问题有点老了,而且很多答案都过时了:我要注意表达式混合(我不知道过去是否允许这样做)支持设计时资源字典。