Windows 如何从资源中加载样式

Windows 如何从资源中加载样式,windows,xaml,uwp,windows-10,windows-10-universal,Windows,Xaml,Uwp,Windows 10,Windows 10 Universal,当我试图将资源样式从文件加载到UIElement时,我遇到了一个问题。 我的资源文件包含ToggleSwitch默认样式的副本,我只更改了一些颜色。 我尝试了以下资源引用: <Page.Resources> <ResourceDictionary x:Key="GreenToggleResourceDictionary"> <ResourceDictionary.MergedDictionaries> <R

当我试图将资源样式从文件加载到UIElement时,我遇到了一个问题。 我的资源文件包含ToggleSwitch默认样式的副本,我只更改了一些颜色。 我尝试了以下资源引用:

<Page.Resources>
    <ResourceDictionary x:Key="GreenToggleResourceDictionary">
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="GreenToggleSwitch.xaml"/>
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Page.Resources>

我的ToggleSwitch看起来像这样,但它不会使用引用资源“greentToggleSwitch.xaml”中的样式:


没错,资源字典不是一种风格。所需样式的
x:Key
属性是什么?用那个。如果是
x:Key=“Planxty”
,请使用
Style=“{StaticResource Planxty}”
。如果它是
x:Key=“imalitletepot”
,请使用
Style=“{StaticResource imalitletepot}”

如果它没有键,那么它是隐式样式,应该应用它,而无需您进一步努力

其次,应该将正在加载的词典合并到窗口/页面/用户控件/任意位置的词典中

像这样:

<Page.Resources>
    <ResourceDictionary.MergedDictionaries>
        <ResourceDictionary Source="GreenToggleSwitch.xaml"/>
    </ResourceDictionary.MergedDictionaries>
</Page.Resources>

我不知道你对所有主题的理解,你没有说,所以我没有解决这个问题

谢谢你,我要试试这个。我不能让它工作。。。我更新了我在问题中提供的信息。也许你可以找出它为什么不起作用。@Viktor_DE是什么让你认为解析器可以猜出“GreenToggleSwitchResource”应该是什么意思?你从来没有定义过。谢谢你指出这一点,那是我“尝试和错误”时刻的一些东西。。。更新了。这也适用于UWP,不是Windows窗体的一部分吗?谢谢你迄今为止的帮助!
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:CUE">

<x:Double x:Key="ToggleSwitchOnStrokeThickness">0</x:Double>
<Style TargetType="ToggleSwitch" x:Key="GreenToggleSwitchStyle">
    .
    .
    .
</Style>
</ResourceDictionary>
<Page.Resources>
    <ResourceDictionary.MergedDictionaries>
        <ResourceDictionary Source="GreenToggleSwitch.xaml"/>
    </ResourceDictionary.MergedDictionaries>
</Page.Resources>
<ToggleSwitch x:Name="ToggleSwitch"
    Style="{StaticResource GreenToggleSwitchStyle}"
    HorizontalAlignment="Right"
    VerticalAlignment="Center"
    Toggled="ToggleSwitch_Toggled"
</ToggleSwitch>