如何使用 XAML 中的键将资源覆盖到另一个资源?

How to override resource to another resource using key in XAML?

首先,我很抱歉我的英语不好。

我想更改以下代码:

    <Page.Resources>
        <ResourceDictionary>
            <ResourceDictionary.ThemeDictionaries>
                <ResourceDictionary x:Key="Default">
                    <AcrylicBrush
                        x:Key="NavigationViewExpandedPaneBackground"
                        BackgroundSource="HostBackdrop" 
                        TintColor="{ThemeResource SystemChromeAltHighColor}" 
                        TintOpacity="0.6" 
                        FallbackColor="{ThemeResource SystemChromeMediumColor}" />
                </ResourceDictionary>
                <ResourceDictionary x:Key="HighContrast">
                    <SolidColorBrush
                        x:Key="NavigationViewExpandedPaneBackground"
                        Color="{ThemeResource SystemColorWindowColor}"  />
                </ResourceDictionary>
            </ResourceDictionary.ThemeDictionaries>
        </ResourceDictionary>
    </Page.Resources>

喜欢这个:

    <Page.Resources>
        <??? 
            x:key="NavigationViewExpandedPaneBackground" 
            ???="{ThemeResource SystemControlChromeMediumAcrylicWindowMediumBrush}"
    </Page.Resources>

我试过Setter、Style、...但都失败了。 如何实现我想要的?

对于你的场景,你可以使用 StaticResource 来转换上面的代码。

<StaticResource x:Key="NavigationViewExpandedPaneBackground" ResourceKey="SystemControlChromeMediumAcrylicWindowMediumBrush"/>

更多细节请参考StaticResource文档。