2016-09-09 13 views
0

は[UWP]私はSystemAccentColor色からSolidColorBrushのリソースを作成し、私は色を明るくするために、コンバータを追加しようとしましたが、それは、実行時にのみ動作...私は明るい色を見るが、私は行く場合設定OSでアクセントの色を変更すると、他のテキストで変更されますが、コンバーターでの色は機能しません。システムのアクセントの色を変更すると、自分のリソースを「更新」する方法はありますか?私のアプリでSystemAccentColor +コンバーター

<Grid Background="{ThemeResource AuraAccent}"/> 
<Grid Background="{ThemeResource AuraAccentLight1}"/> 

のResourceDictionary:

<SolidColorBrush x:Key="AuraAccent" Color="{ThemeResource SystemAccentColor}"/> 
<SolidColorBrush x:Key="AuraAccentLight1" Color="{Binding Source={ThemeResource SystemAccentColor}, Converter={ThemeResource shade}, ConverterParameter=30}"/> 

AuraAccentランタイムでの仕事と私はアクセントカラーを変更します。

AuraAccentLight1ランタイムで動作しますが、アクセントの色を変更しても機能しません。それがどのように動作するか、実際に

http://sharex.lucapatera.it/uploads/2016-08-31_19-34-32.mp4

+0

あなたはすでに何を試してみましたか?質問にあなたの(関連する)コードを共有すると、便利な答えを提供するのが簡単になります。 –

+0

理解するために私のリンク先のビデオを見てください – Lukasss93

+0

どのようにコンバータの色を明るくしていますか?そのコードを見ることはできますか? – AVK

答えて

0

は、私はこの方法で解決している:誰も

最終結果に

<SolidColorBrush x:Key="AuraAccentLight1" Color="{Binding Color, Source={ThemeResource AuraAccent}, Converter={ThemeResource shade}, ConverterParameter=30}"/> 

ありがとう: http://sharex.lucapatera.it/uploads/2016-09-10_19-33-45.gif

+0

ニース。私は喜んで助けてくれました。 – AVK

+0

私はあなたがこの答えに行ったあなたの最後のapp.xamlの変更を追加し、それを他人に役立つように答えとしてマークすることをお勧めします。 – AVK

+0

私はそれを行うことはできません。なぜなら、「あなたは22時間で自分の答えを受け入れることができます」。私はstackoverflowで新しいです:) – Lukasss93

0

私は、リソースディクショナリファイルの数を経て、アプリケーションが最初にロードしたときに辞書がロードされることに気づきました。実際のテーマリソースの変更は更新されますが、カスタムブラシは更新されません(あなたのケースではAuraAccentLight1はコンバータを使用するため)。

これは私がやったことです。一度しか動作しないシェードカラーを持つResourceDictionaryを作成する代わりに、最初のグリッドに最初のグリッドの色の変更、2番目のグリッドカラーの更新が必要なときに2番目のグリッドをバインドしました。そこで、以下

<Grid x:Name="grid" Background="{ThemeResource AuraAccent}"/> 
<Grid> 
    <Grid.Background> 
     <SolidColorBrush Color="{Binding Background.Color, Converter={StaticResource ColorHelper}, ElementName=grid,ConverterParameter=30}" /> 
    </Grid.Background> 
</Grid> 

は、このことができますなら、私に教えてください私のXAMLです。 AVK Naiduに触発

関連する問題