簡體   English   中英

黑暗/光明主題資產限定符

[英]Dark/Light theme assets qualifiers

我有一個非常簡單的要求,使用淺色/深色主題圖像。 我期待一個限定符喜歡

SomeImage.Theme-Light.png

或將圖像放在名為Theme-Light的文件夾下

Theme-Light/SomeImage.png

會工作,但確實如此,但僅限於設計師模式。 一旦我運行應用程序,即使正確設置了所需的主題(在應用程序和頁面級別,以便所有其他ThemeResources正確加載),錯誤的圖像被加載。

我知道為不同的主題加載不同的圖像的變通方法,所以這不是我正在尋找的。 我很想知道為什么這種帶有限定符的方法在運行時不起作用? 是否應該使用不同的名稱限定符?

我讀過這篇文章:“ 如何使用限定符(XAML)命名資源”,但它只顯示了如何根據高對比度支持命名資產。

這種方法不如限定符方便,但它有效。

在App.xaml中定義

<ResourceDictionary>
    <ResourceDictionary.ThemeDictionaries>
        <ResourceDictionary x:Key="Light">
            <ImageSource x:Key="Logo">/Assets/Logo-White.png</ImageSource>
        </ResourceDictionary>

        <ResourceDictionary x:Key="Dark">
            <ImageSource x:Key="Logo">/Assets/Logo-Blue.png</ImageSource>
        </ResourceDictionary>

        <ResourceDictionary x:Key="HighContrast">
            <ImageSource x:Key="Logo">/Assets/Logo-White.png</ImageSource>
        </ResourceDictionary>
    </ResourceDictionary.ThemeDictionaries>
</ResourceDictionary>

然后用

<Image Source="{ThemeResource Logo}"/>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM