- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的WPF应用程序内部,我包括另一个项目的ResourceDictionary。
<Application x:Class="namespace.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<!-- This Line causes an Error -->
<ResourceDictionary Source="pack://application:,,,/Commons;Component/Generic.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
</Application>
Metadata override and base metadata must be of the same type or derived type.
<ResourceDictionary Source="..." />
行会导致另一个错误,如注释中
here所述:
Value Cannot be Null. Parameter Name: item
。重新启动Visual Studio将带回旧错误。
最佳答案
Sinatr 的评论提示我阅读有关主题的更多信息。ThemeInfo
在自定义控件库内部,在ThemeInfoAttribute
内部自动创建了AssemblyInfo.cs
[assembly:ThemeInfo(
ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
//(used if a resource is not found in the page,
// or application resource dictionaries)
ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
//(used if a resource is not found in the page,
// app, or any theme specific resource dictionaries)
)]
参量
ResourceDictionary
(
Generic.xaml
)或在哪里找到。
ResourceDictionaryLocation
-枚举
ResourceDictionaryLocation
-Enumeration本身用于指定这些词典的位置。
ResourceDictionaryLocation.None
No theme dictionaries exist.
ResourceDictionaryLocation.SourceAssembly
Theme dictionaries exist in the assembly that defines the types being themed.This expects the
ResourceDictionary
to be located in a/Themes
-Folder. Explanation later.
ResourceDictionaryLocation.ExternalAssembly
Theme dictionaries exist in assemblies external to the one defining the types being themed.
/Themes
-文件夹
public class MyControl : ControlTemplate
{
static MyControl()
{
// This tells WPF to search for a Style for this type
DefaultStyleKeyProperty.OverrideMetadata(typeof(MyControl)),
new FrameworkPropertyMetadata(typeof(MyControl)));
}
}
简而言之,通过搜索
Logical-Tree
,然后在
Application
的Resources中,最后在sth中,可以找到WPF中的资源。他们叫
System-Area
(如果您知道更好的话,这是我的德语翻译)。
ThemeInfo
,
MyControl
可能在
ResourceDictionary
-Folder内部的
/Themes
中具有其样式。
/Themes/Generic.xaml
。还有
,即告诉WPF将资源添加到
System-Area
中,最终导致自动解析适当的样式。
/Themes/Generic.xaml
内的某处:
<Style TargetType="{x:Type MyControl}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type MyControl}">
..
</ControlTemplate/>
</Setter.Value>
</Setter>
</Style>
That's why the above
ThemeInfoAttribute
requiresGeneric.xaml
to be located in a/Themes
-Folder. - And somehow, even if in my case theSystem-Area
-Functionality isn't even used for this generic file, this causes those errors. But I wasn't able to find out why.
关于c# - ResourceDictionary.MergedDictionaries导致奇怪的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43887257/
我有一个包含 2 个项目的解决方案。第一个是主要应用程序,第二个是其中的控件。在 Generic.xaml 中,在 Silverlight 项目中,可以这样做 这似乎不适用于 Windo
我正在浏览我们产品中的一些代码,看到一些同事以我以前从未见过的方式使用 ResourceDictionary.MergedDictionaries:
我在资源文件中有这个样式:
我有下面的 XAML block 'BaseStyles.xaml 引用此内容的表单在设计时有效,但在运行时无效。如果我的表单直接引用 Sh
我正在尝试
是App.xaml 中的 XAML 代码:
在 WPF 应用程序中,我在单独的资源字典(例如“ButtonStyle.xaml”)中定义了默认控件样式,并将它们作为合并字典添加到名为“ResDictionary.xaml”的资源字典中。 如果我
我创建了一个 WPF 应用程序(名为“Ferhad.Wpf”)。然后我在解决方案中添加了两个名为“Ferhad.Wpf.Core”和“Ferhad.Wpf.SystemStyles”的类库。 “Fer
我创建了一个 WPF 应用程序(名为“Ferhad.Wpf”)。然后我在解决方案中添加了两个名为“Ferhad.Wpf.Core”和“Ferhad.Wpf.SystemStyles”的类库。 “Fer
Universal Windows 8.1 Store Project 在这里。 我需要以编程方式从给定资源名称的应用程序的合并字典中获取资源。 我想出了一个实用方法,可以得到我想要的东西,但对我来说
如果我多次使用 MergedDictionaries 来定义样式,它在运行时不起作用,但在 VS2010 的 WPF Designer 中它起作用。如果在运行时使用代码加载 MergedDiction
我正在创建一个稍后将转到 Play 商店的应用程序。该应用程序组织良好且整洁 - 并利用了 MVVM 模式。 在我的应用程序中 - 我有一个名为“样式”的文件夹,其中包含应用程序不同元素的多种样式:
我在使用 WP7 Mango 中的 ResourceDictionary 时遇到问题。 我在 Internet 上可以找到的大部分内容都这么简单: 1) 带有正文的 Xaml 文件:
我的 App.Resources MergedDictionary 有一个棘手的问题。每次从另一个程序集添加一个带有源和 XML 命名空间的新字典时,都会产生一个错误,我无法构建我的程序。 App.x
我正在尝试拆分包含当前 UWP 应用程序中多个控件样式的 ResourceDictionary。该文件已增长到大约 3000 行,已成为难以管理的人间 hell ,因此我决定将其拆分为更小、更具体的
在 VS2017 中使用 Xamarin 在我的 app.xaml我有一个 MergedDictionary,它引用了一个包含我的 DataTemplate 的 xaml。它未被内容页面识别。如果我将
我正在使用 MVVM light 创建一个“快速”WPF 应用程序来测试一些 Web 服务。我有整个应用程序在运行,但需要将我的 ResourceDictionary 添加到应用程序资源中。当我将以下
考虑我创建一个库 MyCustomControlsProject 的情况包含一组自定义控件。而不是将所有这些控件的 XAML 代码放在一个非常大的 generic.xaml 中,我想将每个控件分开在它
有人可以告诉我在下面的 IconResources.xaml 文件中用于选择 AdjustmentsIcon 样式的 Linq 查询吗? 我知道你可以去... Application.Current.
我在运行时收到异常 Type reference cannot find type named '{clr-namespace:Dashboard.View}DashBoardColors。 我有一个
我是一名优秀的程序员,十分优秀!