web-dev-qa-db-ja.com

UWPアプリでピボットヘッダーの前景ブラシをオーバーライドする(Win 10 RTM SDK)

ピボットヘッダーの前景テーマブラシをオーバーライドしようとしていますが、何をしてもUWPアプリはそれを無視します。

明確にするために、この質問はUWP Pivotコントロールに関するものであり、Win(Phone)8.1コントロールに関するものではありません。 8.1アプリでテーマブラシのオーバーライドメソッドを使用しましたが、完全に機能しました。しかし、UWPPivotで同じことができるようには思えません。

Generic.xaml(および[ブラシ]-> [システムブラシリソース]の下の[プロパティ]ペイン)でそれぞれのブラシを探しました。これらはUWPアプリのPivotHeaderForegroundSelectedBrushとPivotHeaderForegroundUnselectedBrushであり、app.xamlのリソースディクショナリに追加しましたが、他のシステムブラシでは、ピボットブラシは何らかの理由でオーバーライドされません。

<SolidColorBrush x:Key="SystemControlForegroundAccentBrush" Color="Gray"/>
<SolidColorBrush x:Key="SystemControlBackgroundAccentBrush" Color="Gray"/>
<SolidColorBrush x:Key="SystemColorControlAccentBrush" Color="Gray"/>
<SolidColorBrush x:Key="PivotHeaderForegroundSelectedBrush" Color="Green" />
<SolidColorBrush x:Key="PivotHeaderForegroundUnselectedBrush" Color="Red"/>

ヘッダーの前景色を変更する他の方法は知っていますが、コンバーターや追加のコードビハインドが含まれる可能性があります。クリーンな方法で変更できるのであれば、正直に言うと使いたくありません。デフォルトのピボットスタイルを編集しようとしましたが、デフォルトのピボットスタイルのヘッダーアイテムのForegroundプロパティを追加/編集できる場所が見つかりません。

前もって感謝します! :)

17

各ピボットアイテムのヘッダーを独自の色に設定することもできます

<Pivot>
    <PivotItem>
        <PivotItem.Header>
            <PivotItemHeader Content="Header 1" Foreground="Magenta"/>
        </PivotItem.Header>
        <Grid>
            <!-- pivot item content here -->
        </Grid>
    </PivotItem>
    <PivotItem>
        <PivotItem.Header>
            <PivotItemHeader Content="Header 2" Foreground="Cyan"/>
        </PivotItem.Header>
        <Grid>
            <!-- pivot item content here -->
        </Grid>
    </PivotItem>
</Pivot>
0
ZeroSignificus