3

このようにするのがベストプラクティスでしょうか?

たとえば、HyperlinkPointerOverBrush濃い青/緑を定義します。これは、マウス/「指」がリンクの上に置かれたときにアプリが継承するデフォルトのブラシの色です。しかし、濃い青/緑からの色の割り当てを別のものに簡単に変更できますか?

(以下は、私のアプリが参照しているシステム ブラシのリストを示しています) ここに画像の説明を入力

HyperlinkPointerOverBrush私は自分で別のものに設定しようとしましたApp.xaml:

<SolidColorBrush x:Key="HyperlinkPointerOverBrush" Color="#FF0A2562"/>

私のメトロアプリ内で、しかし役に立たなかった。私のリンクはデフォルトの濃い青/緑のままでした。

これにどのようにアプローチするかについて何か考えはありますか?また、アプリのシステム ブラシ (別名) を定義するためのベスト プラクティスもあります。Windows 8 の Metro スタイル WinRT アプリで使用したい "Palette" はありますか? (それは一口です)

ありがとう。

4

2 に答える 2

4

リソースに同じキーを持つブラシを配置するだけで、すべてのシステム ブラシをオーバーライドできます。

<ResourceDictionary>
    <SolidColorBrush x:Key="ListBoxItemSelectedBackgroundThemeBrush" Color="Green" />
</ResourceDictionary>

WinRT のすべてのシステム ブラシのリストは、 http ://www.win8tutorial.net/styling/windows-8-1-theme-resources/ にあります。

最も難しいのは、何百ものブラシがあるため、オーバーライドする適切なブラシを見つけることです。

ご挨拶

クリスチャン
http://www.wpftutorial.net

于 2013-02-20T06:14:41.843 に答える
3

winrt アセンブリの既定のコントロールには、これらのアセンブリのリソースを使用するスタイルとテンプレートがあります。これを変更するためにできる簡単なことは、app.xaml で RequestedTheme="Light" を設定することです。任意のブラシを変更するには、コントロールを使用するときに明示的にオーバーライドして、スタイル/テンプレート自体を変更する必要もあります。

「テンプレートの編集」/「コピーの編集...」に移動して、デザイン ビューのコンテキスト メニューで既定のテンプレートを抽出できます。次に、テーマ リソースを使用して、抽出されたスタイルを変更します。

Common/StandardStyles.xaml が基本テンプレートにあるように、定義済みのリソース セットまたはテーマを App.xaml/MergedDictionaries にマージして使用できます。おそらく、同じキーを使用する複数のテーマ リソース ディクショナリを定義する場合、App.xaml でマージされたディクショナリを動的に変更して、実行時にテーマを変更できます。

于 2012-04-24T06:53:38.433 に答える