问题标签 [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.
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 可以正常工作。
谁能解释我为什么会收到这个错误?可以将我的自定义控件包含在另一个中,即使它们在同一个自定义控件库中,对吗?
谢谢!
wpf - 资源字典中的 DataTemplates 不继承自 app.xaml 样式?
我向 app.xaml 添加了自定义命名样式。
我创建了一个外部资源字典(我附加在 app.xaml 的合并字典中),当我尝试在 rcource 字典中使用上述命名样式之一时,它说没有这种样式。
此外,默认样式(即适用于整个应用程序的未命名样式)不适用于模板元素。
注意:模板的构建操作是“页面”。
这是我的代码编写方式的示例:
这是数据模板的示例:
有任何想法吗?我必须以不同的方式合并字典吗?
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,
c# - 访问系统:C# 中的字符串资源字典 XAML
如何使用 C# 访问资源字典中的内容?
例如,这是我在 XAML 中的代码:
我想在 C# 中访问它:
我不想在 C# 中键入“新组”,而是想替换它并访问 XAML 中的资源字典。因此该命令将自动获取资源字典中的名称。
我尝试了几种解决方案,例如:
等等......但他们似乎没有工作。
我正在使用 locbaml 进行本地化,它不解析 C# 上的文本/名称(或者我不知道如何),这是我认为可能的唯一解决方案。
wpf - 在文件夹中搜索和列出 WPF 资源字典
我正在制作一个 WPF 应用程序,它将由我们的构建系统标记多个皮肤。理想情况下,我们希望应用程序列出可用的皮肤,因为某些构建将具有一对多的皮肤。
在运行时有没有办法枚举特定文件夹中的所有资源字典?
我想避免在我的代码隐藏中对 XAML 文件名进行硬编码,因为这是一种不断变化的情况。
wpf - 如何在运行时加载 MergedResources?我的代码没有按预期工作
我有一个桌面 WPF 应用程序,它从 Web 加载它的资源,这使我们能够做不同的事情,比如......如果我们愿意,可以在假期前后添加一个圣诞主题。要加载主题,我只需将应用程序当前资源字典替换为我们自己的资源字典,就像这样。
好吧,我们到了我想将一些资源分成不同文件的地步,而不是只使用一个包含所有内容的大资源文件。我认为这将是相当简单的只是使用合并的资源。我认为对上面的代码进行简单的修改就可以使它工作,但事实证明它没有。这是我期望我必须做的。
当应用程序运行时,它只是使用普通样式,并没有考虑到我添加的合并资源。我在这里做错了什么?我如何能够在运行时动态添加合并的资源(和多个)并让它们正常工作?
谢谢,凯尔
wpf - 如何访问我的 ResourceDictionary?
我的项目中有一个名为CustomStyles.xaml的 ResourceDictionary 。它位于一个名为 RD 的子目录中,因此它的位置是RD/CustomStyles.xaml。
我的问题如下:我有一个名为CustomGroupBox.vb的纯类文件,并且在 New() 中,我想从 ResourceDictionary 访问资源。
由于我没有针对 CustomGroupBox.vb 的相应 XAML,我该怎么做?
PS我想指出 CustomStyles.xaml 有一个BuildAction的Resource而不是Content,因此它与项目一起编译,它不会输出到构建目录 (\bin)。因此,以下行不通...
c# - Silverlight 类库的打包资源字典
我有一个 silverlight 类库(不是顶级应用程序),其中包含多个由不同 silverlight 应用程序共享的用户控件。我已经完成并为控件提取了几种样式和画笔,并将它们作为资源字典放入单独的 XAML 文件中,我将其作为合并的资源字典引入每个控件。现在这在我的顶级应用程序中效果很好,只要我将该资源字典作为“资源”构建操作并以这种方式从控件中引用它。
我真正想做的是将此资源字典 XAML 文件作为“内容”构建操作复制到顶级 XAP 中,以便 XAML 可以在 XAP 文件中换出,而无需重新构建项目。每当我尝试进行设置时,XAML 文件都会被复制到类库项目的输出箱中,但它永远不会被复制到我的顶级 Silverlight 应用程序项目输出目录或最终的 XAP 文件中。
实现这一目标的最佳方法是什么?XAML 资源字典本质上是类库的依赖项,而(用户控件的)类库是顶级silverlight 应用程序的依赖项。
c# - 在加载 Silverlight 应用程序时替换合并的资源字典
我在我的顶级控件的 XAML 中作为 MergedDictionary 加载的 ResourceDictionary 中定义了一组样式和画笔:
如果 XAP 中存在具有其自己的 ResourceDictionary 的不同 XAML 文件,我将尝试选择性地替换其中一些样式和画笔。在我的用户控件上调用 InitializeComponent() 之前,我试图在运行时合并到这个字典中。我正在使用以下代码尝试执行此操作:
可选文件中的资源字典已加载并合并,但是我的原始样式集似乎总是覆盖它。如果我在 XAML 中注释掉合并的字典并在运行时简单地加载它们以使其完美运行:
我对这个解决方案的问题是,如果没有 XAML 中的默认样式,我无法在 Blend 中打开项目。任何人都对一种解决方案有任何想法,可以让 Blend 知道我的默认样式,但允许我在运行时使用动态加载的资源字典选择性地覆盖它们?谢谢!
c# - 在代码中将 DataTemplate(非 XAML)添加到资源字典?
我试图弄清楚如何将 DataTemplate 添加到应用程序的资源字典中。当 DataTemplate 在 XAML 中(通过 uri)时,我很熟悉如何执行此操作,但是当 DataTemplate 在代码中定义时,我对如何执行此操作有点模糊。
我所拥有的,但不起作用的是-
编辑:尽我所能,DataTemplate 不会进入应用程序的资源字典,尽管没有抛出任何错误。当稍后从 XAML 调用 ViewModel 时,它的行为就像没有合适的 DataTemplate 来显示它一样。例如,
导致显示文本“ShellPrototype.ViewModels.CoordinateViewModel”的空窗口 - EG,它没有显示视图的模板。