问题标签 [mergeddictionaries]

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 投票
1 回答
1313 浏览

wpf - 单独库中的嵌套资源字典

我的问题与这个非常相似

我有许多项目的解决方案。其中有两个是相关的:一个包含 WPF 窗口的类库和一个包含所有 WPF 样式的项目。

项目 1 中带有窗口的类库

Window 的合并字典类似于:

项目 2中的 CommonStyle.xaml :

这会导致如下错误:

{“找不到资源‘components/type/checkbox.xaml’。”}

但是,如果我在项目 1 中创建一个 CommonStyle.xaml 并从项目 2 中引用相同的控件样式,那么它就可以工作。

如何使最高级别的 xaml 文件 (CommonStyle.xaml) 从项目 2 中工作?

0 投票
1 回答
7104 浏览

wpf - App.xaml 中的合并字典

我在一个单独的.xaml. 我window使用以下指令将它们加载到我的内部:

我有很多窗口,所以我想简单地将这段代码放在App.xaml.

我正在尝试这个:

所以这里是问题:

所有示例都没有使用x:Key属性,但它给了我一个错误,说我需要。当我这样做时,它说我不能拥有多个属性Resource......

0 投票
1 回答
713 浏览

wpf - 使用 SharedResourceDictionary 创建嵌套合并字典时遇到问题

我有一个名为Atelis.Base.Wpf.Resources. 它是一个包含资源字典的 DLL。

在这个程序集中,我定义了一个SharedResourceDictionary

然后我有许多资源字典文件,如下所示:

样式.xaml

颜色.xaml

按钮.xml

数据模板.xaml

一切都很好,直到我到达DataTemplates.xaml。这Buttons.xaml SharedResourceDictionary给了我一个内联警告“无法创建未知类型'{clr-namespace:Atelis.Base.Wpf.Resources}SharedResourceDictionary'。” 当我尝试定义staticresource样式时,我收到另一个 xaml 警告“资源 'ButtonStyle2' 无法解析。”

我认为重要的是要注意SharedResourceDictionary源 URI 不包含的其他声明SharedResourceDictionaries没有这个问题(我可以在没有任何警告的情况下将颜色和样式添加到字典声明中,并且资源在设置时解析)。

该应用程序运行良好,但我似乎无法让 Visual Studio 解决此资源并删除警告。这是一个小小的不便,但我很想知道为什么会这样。

0 投票
1 回答
45 浏览

c# - 在 WPF 中使用一种样式但不能同时使用两种样式

我正在准备511认证,我不明白的问题之一是这个:

You are developing a Windows Presentation Foundation (WPF) application.

两种样式,Bluegreen,用于Border对象。这两种样式的 CornerRadius 和 BrushThickness 属性值相同,而 Background 属性不同

您需要以蓝色或绿色样式定义CornerRadius 和 BrushThicknesssettings ,但不能同时定义这两种样式。你该怎么办?

A) 将蓝色和绿色分成两个文件。将基本设置放入蓝色并使用 MergedDictionaries。确保蓝色文件在列表中排在第二位。

B)将蓝色和绿色放入同一个文件中。将基本设置放入蓝色并将蓝色标记为BasedOn Green。

C) 将蓝色和绿色放入同一个文件中。将基本设置放入蓝色并将绿色标记为基于蓝色。

D) 将蓝色和绿色分成两个文件。将基本设置放入蓝色并使用 MergedDictionaries。确保绿色文件在列表中排在第二位。

正确答案是B

谁能给我解释一下为什么是B而不是C

0 投票
1 回答
102 浏览

wpf - 为什么这个 MergedDictionary 条目会导致异常?

我们有一个控制库,我们在主应用程序中引用它。在其中,我们决定将 Generic.xaml 拆分为特定于类型的资源,例如 Brushes.xaml、Colors.xaml 等,然后我们只需将它们合并到 Generic.xaml 中。我们在 Themes 目录中将它们创建为 Generic.xaml 的兄弟姐妹,我们知道您应该在本地相对引用它们,就像这样......

这是类库的 AssemblyInfo.cs 中的属性

...但它会引发以下异常...

(请注意,小写也是例外。奇数。)

现在我尝试了“Brushes.xaml”、“Themes/Brushes.xaml”和“/Themes/Brushes.xaml”,但无济于事。我到底错过了什么?

注意:如果资源与应用程序位于同一程序集中,它似乎可以工作。这似乎仅与将资源分离到类库中有关。

0 投票
1 回答
173 浏览

wpf - 将资源加载到导入的程序集

我已经为应用程序开发了一个调度程序和一个图书馆管理程序。库管理需要调度程序中的一些相同功能,因此在 NuGet 上发布了调度程序并将其安装在库管理程序中,并在此处使用调度程序软件中的用户控件。这工作正常,除了当我在库程序中使用调度程序时没有加载来自调度程序的翻译。当我自己使用调度程序时,它工作正常。

在这两个程序中,我都创建了这样的 ResourceDictionary

我像这样在两个程序中加载资源

这是我在两个应用程序中的文化课

}

我知道问题是调度程序软件中的资源没有初始化,我试图在我的图书馆应用程序中创建一个 MergedDictionaries 没有运气

希望有人可以帮助我解决这个问题。

谢谢安德斯·米克尔森

0 投票
0 回答
156 浏览

c# - 未在 WPF 设计器中加载 SharedResourceDiationary

我正在尝试从这里实现 SharedResourceDictionary:http: //www.wpftutorial.net/MergedDictionaryPerformance.html

但我无法让设计师显示正确的样式。(此处不使用 Blend)

我将实现减少到最低。

工作正常。

没有,样式也没有应用。

有人遇到过这个问题并知道可行的解决方案吗?

进一步说明:

SharedResourceDictionary 是在一个项目中定义的,该项目在 UserControl 中被引用,在这里我用这个实现交换了所有 ResourceDictionaries。

在这个示例案例中,我有一个应用于所有组合框的样式(没有键)。

到目前为止,我唯一要做的就是包装 ResourceDictionary 的 Source 属性,如上所示。没有更多的逻辑。没有包装,一切正常,但包装似乎打破了一切..

0 投票
1 回答
1653 浏览

c# - 在“ResourceDictionary”类型中找不到可附加属性“MergedDictionaries”

我正在尝试使用 MahApps.Metro 框架,我应该将其包含在我的 App.xaml 中,但我得到“不支持嵌套属性:ResourceDictionaries.MergedDictionaries”错误和“可附加属性“MergedDictionaries”不是在类型“ResourceDictionary”中找到。

我已经尝试了一切,但仍然无法解决这个问题。任何的想法?谢谢。

0 投票
1 回答
1219 浏览

wpf - WPF合并的ResourceDictionary与绑定到另一个字典中的资源的资源不起作用

我创建了一个简单的项目来演示我遇到错误的问题:'在'System.Windows.Markup.StaticResourceHolder'上提供值引发了异常。' 行号“6”和行位置“9”。

项目布局非常简单,我已将其上传到 dropbox: https ://www.dropbox.com/s/451b5zkw8oqgcld/StyleTest1.zip?dl=0

主窗口.xaml

Dictionary1.xaml

Dictionary2.xaml

就是这样......如果我运行该程序,我会收到错误消息:'Provide value on 'System.Windows.Markup.StaticResourceHolder' throw an exception。行号“6”和行位置“9”。

但是,如果我将 MainWindow.xaml 更改为以下内容,我将不再遇到问题:这是修改后版本的保管箱链接: https ://www.dropbox.com/s/ceikh5b8cfecdkw/StyleTest2.zip?dl=0

主窗口.xaml

这表明 Dictionary2.xaml 中的 LinearGradientBrush 绑定到位于 Dictionary1.xaml 中的 ButtonBackgroundBrush 资源存在问题。

谁能告诉我我在这里做错了什么以及让一个字典中的资源引用另一个字典中的资源的正确方法是什么?

谢谢你的时间,

代码猫头鹰

0 投票
1 回答
155 浏览

xamarin.forms - 不能从密封类型“ResourceDictionary”、Xamarin.forms 派生

我想制作一个 Resourcedictionary,然后在另一个页面中使用(将调用 mergewith 以根据此页面将其添加到页面的 resourceDictionary。https://xamarinhelp.com/merged-dictionaries-xamarin-forms/ 但我不断收到错误。“Styledictionary”:不能从密封类型“ResourceDictionary”派生。

我正在使用 Xamarin 版本 4.1.2.18 我只是从跨平台添加了一个 xaml 页面。my.xaml 看起来像

.xaml.cs 看起来像