簡體   English   中英

根據淺色或深色的主題選擇更改圖像

[英]Change image based on Theme selection for Light or Dark

我正在創建一個Windows Phone 8.1應用程序,其中我使用了許多應根據所選主題燈或黑暗顯示的圖像。

使用正確的命名和縮放創建“明暗”圖像。

我創建了以下ThemeResource來根據所選主題設置圖像源。

<ResourceDictionary>
    <ResourceDictionary.ThemeDictionaries>
        <ResourceDictionary x:Key="Light">
            <Style x:Key="ShowImage" TargetType="Image">
                <Setter Property="Source" Value="Assets/image.png"/>                            
            </Style>
        </ResourceDictionary>
        <ResourceDictionary x:Key="Dark">
            <Style x:Key="ShowImage" TargetType="Image">
                <Setter Property="Source" value="Assets/image.png"/>
            </Style>
        </ResourceDictionary>                
    </ResourceDictionary.ThemeDictionaries>
</ResourceDictionary>

並且XAML會根據需要顯示圖像。

<Grid>        
    <Image HorizontalAlignment="Center" 
           VerticalAlignment="Center" 
           Stretch="None" 
           Style="{ThemeResource ShowImage}">
    </Image>
</Grid>

當我啟動選擇了主題的應用程序時,每次都會顯示正確的圖像。 但是,當我選擇不同的主題,然后切換回我的應用程序時,我可以看到背景顏色已更新,但我的圖像未動態更新。

據我所知,應該使用ThemeResource動態更新它,但我無法讓它工作。 有人知道我的XAML代碼有什么問題嗎?

您發布的代碼對我來說非常好。 您能否發布有關如何重現該問題的更多詳細信息。 這就是我所做的。

  1. 打開了應用程序
  2. 它根據主題顯示正確的圖像
  3. 使用“開始”按鈕最小化應用程序
  4. 更改主題和恢復的應用程序

它改變了背景和相應的圖像。 請再次檢查您是否犯了其他錯誤,並且在您發布的代碼中,您將圖像源設置為兩個主題中的相同圖像

<Setter Property="Source" value="Assets/image.png"/>

暫無
暫無

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

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