如何在单个App.xaml中合并不同的资源?

用户名

我有一个很长的编码App.xaml,其中包含我从Internet下载的自定义样式窗口的代码。

<Application x:Class="MyProject.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:local="clr-namespace:MyProject"
             xmlns:sw="clr-namespace:MyProject.StyleableWindow"
             StartupUri="MainWindow.xaml">
    <Application.Resources>
    <SolidColorBrush x:Key="WindowColor" Color="Red"/>
    <SolidColorBrush x:Key="WindowBackColor" Color="#FFC3C3C3"/>
    <SolidColorBrush x:Key="WindowForeColor" Color="Black"/>
    <SolidColorBrush x:Key="WindowForeHighlightColor" Color="WhiteSmoke"/>
................
................
................
................
            <Setter Property="Background" Value="Black"/>
            <Setter Property="BorderBrush" Value="Red"/>
            <Setter Property="Template" Value="{StaticResource WindowTemplate}"/>
        </Style>

昨天,我下载了一个自定义的切换按钮控件。为了使它起作用,我尝试在App.xaml中合并以下代码

    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="SwitchTypeToggleButton.xaml" />
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>

但这是行不通的。我不断收到以下错误:

每个字典必须具有关联的键

我的切换按钮控制代码-(存储在MyProject> Folder1> Folder2中)

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

    <Style x:Key="SwitchTypeToggleButton"
           TargetType="{x:Type ToggleButton}">

        <Style.Resources>
            <Color x:Key="Color.Additional.LightGrey">#989EA8</Color>
            <Color x:Key="Color.Additional.MediumGrey">#61656B</Color>
............
............

我该怎么办才能消除该错误?任何帮助表示赞赏。

杰夫·罗森

app.xaml中的资源应如下所示:

<Application.Resources>    
  <ResourceDictionary>
    <ResourceDictionary.MergedDictionaries>
      <ResourceDictionary Source="SwitchTypeToggleButton.xaml" />
    </ResourceDictionary.MergedDictionaries>
    <SolidColorBrush x:Key="WindowColor" Color="Red"/>
    ...
    <Setter Property="Template" Value="{StaticResource WindowTemplate}"/>
  </ResourceDictionary>      
</Application.Resources>

原因是,Application.Resources实际上总是需要为ResourceDictionary只要您使用“简单”资源,就会隐式创建ResourceDictionary。但是,一旦要合并另一个ResourceDictionary,就必须明确指定包含该资源的字典。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Tensorflow:如何在Tensorflow中合并不同的Dim嵌入?

如何在Haskell中合并不同类型的地图?

如何在Swift中合并不同对象的数组

如何在python中合并不同维度的数组?

如何使用终端在多个文件中合并不同的行

如何合并不同的分区

如何在matlab中合并不同的图但相同的y轴

如何在熊猫中的一列下合并不同的列

如何在 RPGLE 的一行中移动或合并不同的字段到子文件中

如何在同一行中合并不同大小的数据框

熊猫:如何合并不同的数据框?

如何在具有不同条目但同一列的文件夹中合并不同的 csv 文件?

如何使用ggplot2合并不同颜色通道中的图

如何根据R中的ID变量合并不同长度的行保留序列

如何重用单个文字值来初始化 XAML 资源字典中的多个不同类型?

Google App引擎-如何在python中删除具有单个实体ID的实体

如何合并不同文本列的多个列

如何合并不同聚类方法的聚类结果?

如何合并不同长度的重复元素列表?

如何合并不同语言的字典以进行自动更正?

Pandas Merge - 如何也合并不同的索引列

如何按特定顺序合并不同的表?

如何在sql中使用SELECT和JOIN合并不同表的不同列?

如何合并不同数据框的两列,如果找到匹配项,则使用熊猫在新列中写入“ True”

如何在单个命令中合并两个不同的dplyr摘要

如何在Azure中为多个资源创建单个警报

知道我用于匹配两个数据集的变量不是唯一的,如何在 R 中合并不同的数据集?

如何在 C# ContentPage 中访问 App.xaml 上的静态资源模板?

如何在单个SQL查询中合并多个计数