首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PlainView不会加载与componentResourceKey和资源to相关的xaml页面

PlainView不会加载与componentResourceKey和资源to相关的xaml页面
EN

Stack Overflow用户
提问于 2012-01-13 00:27:56
回答 1查看 321关注 0票数 0

我有一个外部库来保存所有主题,在这些主题中我为PlainViews定义了一个样式。扩展viewbase的plainview类位于另一个项目中。我的应用程序无法加载plainview的xaml。它似乎找不到与PlainView关联的资源it

下面是定义plainview的xaml

代码语言:javascript
复制
<Style x:Key="{ComponentResourceKey 
        TypeInTargetAssembly={x:Type Common:PlainView},
        ResourceId= PlainViewRsx}" 
        TargetType="{x:Type ListView}" 
        BasedOn="{StaticResource {x:Type ListBox}}">
</Style>

PlainView代码是在另一个项目中定义的。

EN

回答 1

Stack Overflow用户

发布于 2012-02-08 19:45:57

我不确定我是否正确理解了你的问题(或者即使你仍然有这个问题),所以我告诉你我的方法,我想我需要一些类似的东西:

  1. 我在外部程序集中有我的主题(每个主题都表示为一个资源字典),可以通过在运行时交换类的资源字典来更改它。
  2. 资源的键存储在另一个
  3. 中主题和资源也在不同的程序集中

中。

首先,确保在所有需要的项目中都有所有必需的引用。

存储密钥的类:

代码语言:javascript
复制
public class CoreResourceKeys
{
      public static readonly string BrushMyBrush = "MyBrush";
      public static ComponentResourceKey Brush_MyBrush
      {
          get
          {
              return new ComponentResourceKey(typeof(CoreResourceKeys), CoreResourceKeys.BrushMyBrush);
          }
      }
}

我的主题文件看起来像这样:

代码语言:javascript
复制
<ResourceDictionary xmlns=[...]
    xmlns:resources="clr-namespace:AssemblyThatStoresTheKeys;assembly=CoreResourceKeys">
    <SolidColorBrush x:Key="{ComponentResourceKey 
        TypeInTargetAssembly={x:Type resources:CoreResourceKeys}, 
        ResourceId={x:Static resources:CoreResourceKeys.BrushMyBrush}}"  
    Color="DarkMagenta"/>
</ResourceDictionary>

而我想要使用画笔的控件/页面看起来像这样:

代码语言:javascript
复制
<UserControl x:Class=[...] 
    xmlns:resources="clr-namespace:AssemblyThatStoresTheKeys;assembly=CoreResourceKeys">
    <TextBlock Background="{DynamicResource {x:Static resources:CoreResourceKeys.Brush_MyBrush}}" Text="The Shire"/>

那篇博文对我帮助很大:MSDN Support Forum - Loading Styles from My Assembly

我不确定这对你有帮助。如果没有,请尝试更详细地描述您的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8838543

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档