簡體   English   中英

在WP8.1 Universal應用程序中使用PhoneAccentBrush

[英]Using PhoneAccentBrush in WP8.1 Universal app

我在解決方案的WP8.1部分專用的頁面中有一個listview,其中有一個標准的ObservableCollection作為itemssource。 我想突出顯示選中的項目,該項目目前僅使用文本塊的數據模板。 似乎基本的WP8.1控件僅在W8.1版本中支持此功能。

遵循此處介紹的解決方案; 如何更改選定的ListView項[WP8.1]的顏色我設法使其以指定的顏色突出顯示,但是我真的很想能夠綁定到電話的強調顏色,我敢肯定能夠在WP8.0中綁定到此,但是該資源在通用應用程序的頁面中不可用。

目前,我已將“紅色”的直接顏色規范替換為

<ColorAnimation Duration="0" Storyboard.TargetName="myback" Storyboard.TargetProperty="(Border.Background).(SolidColorBrush.Color)" To="{ThemeResource PhoneChromeColor}"/>

可以突出顯示項目,但顯然不是我想要的顏色。

我可以在xaml中訪問PhoneAccentBrush嗎? 有沒有更好的方法可以實現我的目標? 我不是專業開發人員,因此某些“用戶友好”指南將非常有幫助。 謝謝。

ColorAnimationTo屬性需要一個Color類型的對象。 PhoneAccentBrush是SolidColorBrush類型。

這里有兩個建議(我尚未測試過,但我認為它們應該可以工作):

  1. SolidColorBrush類型的對象具有Color類型的Color屬性,可以像{Binding Color, Source={StaticResource PhoneColorBrush}}

  2. 您還可以使用PhoneAccentColor靜態資源,該資源基本上是PhoneAccentBrush筆刷的顏色,如下所示: {StaticResource PhoneAccentColor}

另外,如果您沒有真正設置顏色的動畫,則可以使用以下方式更改整個筆刷:

<ObjectAnimationUsingKeyFrames Duration="0" Storyboard.TargetName="myback" Storyboard.TargetProperty="(Border.Background)">
    <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PhoneAccentBrush}"/>
</ObjectAnimationUsingKeyFrames>

我希望其中一些對您有用! :)

我首先要同意@Scoregraphic是正確的。 您的錯誤消息是您獨有的。 話雖如此,您應該知道Windows上的口音刷始終是紫色的。 因此,使用口音筆刷幾乎沒有價值。

您可以使用特定於設備的樣式來克服這一問題。 這意味着您可以在“電話”應用程序中使用強調筆刷,但是在Windows應用程序中,您可以添加任何想要具有有意義顏色的邏輯。

我將在這里詳細討論設備特定的樣式:

http://channel9.msdn.com/series/Developing-Uni​​versal-Windows-Apps-with-C-and-XAML/03#time=27m00s

祝你好運!

PhoneAccentBrush可通過{StaticResource PhoneAccentBrush}在XAML

暫無
暫無

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

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