问题标签 [resourcedictionary]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1669 浏览

c# - WPF:在另一个自定义控件的 ItemTemplate 中使用自定义控件时出错

我有一个自定义控件库,其中有几个在我的主应用程序中使用的自定义控件。我有一个简单的自定义控件,可让用户从组合框中选择笔粗细值。现在,我正在创建一个基于列表框的新自定义控件,并且我想在新自定义控件的 ItemTemplate 中包含笔粗细组合框。

我收到此错误:

“无法创建在程序集 CustomControls 中定义的“LineThicknessComboBox”实例...调用目标引发了异常。标记文件“CustomControls;component/Themes/CustomListBox.General.xaml”中的对象“10_T”出错。

下面是 LineThicknessComboBox 的 XAML 和代码:

在 LineThicknessCombobox.Generic.xaml 中:

这是我的新 CustomListBox 的 XAML 和代码隐藏:

在 CustomListBox.Generic.xaml 中:

这是我的 Generix.xaml:

我在想我有某种参考问题,但不知道出了什么问题。该程序编译并运行时没有任何警告/错误,但是在我的主应用程序中创建 CustomListBox 时,我收到上面列出的错误。如果不包括 LineThicknessComboBox,CustomListBox 可以正常工作。

谁能解释我为什么会收到这个错误?可以将我的自定义控件包含在另一个中,即使它们在同一个自定义控件库中,对吗?

谢谢!

0 投票
2 回答
5280 浏览

wpf - 资源字典中的 DataTemplates 不继承自 app.xaml 样式?

我向 app.xaml 添加了自定义命名样式。

我创建了一个外部资源字典(我附加在 app.xaml 的合并字典中),当我尝试在 rcource 字典中使用上述命名样式之一时,它说没有这种样式。

此外,默认样式(即适用于整个应用程序的未命名样式)不适用于模板元素。

注意:模板的构建操作是“页面”。


这是我的代码编写方式的示例:


这是数据模板的示例:

有任何想法吗?我必须以不同的方式合并字典吗?

0 投票
2 回答
1040 浏览

wpf - ResourceDictionary 中的 Value 属性和显式 DataTrigger.Value 之间的区别?

谁能告诉我为什么以下不起作用,但后面的起作用?注意 Value= 语法与后者的显式用法。我不明白其中的区别。

上面抛出异常,下面工作正常:

例外: 必须为 DataTrigger 指定绑定和值。标记文件 ';component/ResourceDictionaries/LogStyles.xaml' 第 14 行位置 15 中的对象 'System.Windows.DataTrigger' 出错。

堆栈跟踪:在 System.Windows.Markup.XamlParseException.ThrowException(字符串消息,异常 innerException,Int32 lineNumber,Int32 linePosition,Uri baseUri,

0 投票
1 回答
2298 浏览

c# - 访问系统:C# 中的字符串资源字典 XAML

如何使用 C# 访问资源字典中的内容?

例如,这是我在 XAML 中的代码:

我想在 C# 中访问它:

我不想在 C# 中键入“新组”,而是想替换它并访问 XAML 中的资源字典。因此该命令将自动获取资源字典中的名称。

我尝试了几种解决方案,例如:

等等......但他们似乎没有工作。

我正在使用 locbaml 进行本地化,它不解析 C# 上的文本/名称(或者我不知道如何),这是我认为可能的唯一解决方案。

0 投票
3 回答
3977 浏览

wpf - 在文件夹中搜索和列出 WPF 资源字典

我正在制作一个 WPF 应用程序,它将由我们的构建系统标记多个皮肤。理想情况下,我们希望应用程序列出可用的皮肤,因为某些构建将具有一对多的皮肤。

在运行时有没有办法枚举特定文件夹中的所有资源字典?

我想避免在我的代码隐藏中对 XAML 文件名进行硬编码,因为这是一种不断变化的情况。

0 投票
1 回答
294 浏览

wpf - 如何在运行时加载 MergedResources?我的代码没有按预期工作

我有一个桌面 WPF 应用程序,它从 Web 加载它的资源,这使我们能够做不同的事情,比如......如果我们愿意,可以在假期前后添加一个圣诞主题。要加载主题,我只需将应用程序当前资源字典替换为我们自己的资源字典,就像这样。

好吧,我们到了我想将一些资源分成不同文件的地步,而不是只使用一个包含所有内容的大资源文件。我认为这将是相当简单的只是使用合并的资源。我认为对上面的代码进行简单的修改就可以使它工作,但事实证明它没有。这是我期望我必须做的。

当应用程序运行时,它只是使用普通样式,并没有考虑到我添加的合并资源。我在这里做错了什么?我如何能够在运行时动态添加合并的资源(和多个)并让它们正常工作?

谢谢,凯尔

0 投票
2 回答
434 浏览

wpf - 如何访问我的 ResourceDictionary?

我的项目中有一个名为CustomStyles.xaml的 ResourceDictionary 。它位于一个名为 RD 的子目录中,因此它的位置是RD/CustomStyles.xaml

我的问题如下:我有一个名为CustomGroupBox.vb的纯类文件,并且在 New() 中,我想从 ResourceDictionary 访问资源。

由于我没有针对 CustomGroupBox.vb 的相应 XAML,我该怎么做?

PS我想指出 CustomStyles.xaml 有一个BuildActionResource而不是Content,因此它与项目一起编译,它不会输出到构建目录 (\bin)。因此,以下行不通...

0 投票
2 回答
3267 浏览

c# - Silverlight 类库的打包资源字典

我有一个 silverlight 类库(不是顶级应用程序),其中包含多个由不同 silverlight 应用程序共享的用户控件。我已经完成并为控件提取了几种样式和画笔,并将它们作为资源字典放入单独的 XAML 文件中,我将其作为合并的资源字典引入每个控件。现在这在我的顶级应用程序中效果很好,只要我将该资源字典作为“资源”构建操作并以这种方式从控件中引用它。

我真正想做的是将此资源字典 XAML 文件作为“内容”构建操作复制到顶级 XAP 中,以便 XAML 可以在 XAP 文件中换出,而无需重新构建项目。每当我尝试进行设置时,XAML 文件都会被复制到类库项目的输出箱中,但它永远不会被复制到我的顶级 Silverlight 应用程序项目输出目录或最终的 XAP 文件中。

实现这一目标的最佳方法是什么?XAML 资源字典本质上是类库的依赖项,而(用户控件的)类库是顶级silverlight 应用程序的依赖项。

0 投票
1 回答
1983 浏览

c# - 在加载 Silverlight 应用程序时替换合并的资源字典

我在我的顶级控件的 XAML 中作为 MergedDictionary 加载的 ResourceDictionary 中定义了一组样式和画笔:

如果 XAP 中存在具有其自己的 ResourceDictionary 的不同 XAML 文件,我将尝试选择性地替换其中一些样式和画笔。在我的用户控件上调用 InitializeComponent() 之前,我试图在运行时合并到这个字典中。我正在使用以下代码尝试执行此操作:

可选文件中的资源字典已加载并合并,但是我的原始样式集似乎总是覆盖它。如果我在 XAML 中注释掉合并的字典并在运行时简单地加载它们以使其完美运行:

我对这个解决方案的问题是,如果没有 XAML 中的默认样式,我无法在 Blend 中打开项目。任何人都对一种解决方案有任何想法,可以让 Blend 知道我的默认样式,但允许我在运行时使用动态加载的资源字典选择性地覆盖它们?谢谢!

0 投票
1 回答
2656 浏览

c# - 在代码中将 DataTemplate(非 XAML)添加到资源字典?

我试图弄清楚如何将 DataTemplate 添加到应用程序的资源字典中。当 DataTemplate 在 XAML 中(通过 uri)时,我很熟悉如何执行此操作,但是当 DataTemplate 在代码中定义时,我对如何执行此操作有点模糊。

我所拥有的,但不起作用的是-

编辑:尽我所能,DataTemplate 不会进入应用程序的资源字典,尽管没有抛出任何错误。当稍后从 XAML 调用 ViewModel 时,它的行为就像没有合适的 DataTemplate 来显示它一样。例如,

导致显示文本“ShellPrototype.ViewModels.CoordinateViewModel”的空窗口 - EG,它没有显示视图的模板。