2017-01-04 27 views
0

私は自分のUWP(Windows 10)アプリケーションに動的テーマの変更オプションを持たせようとしています。C#UWPテーマが動的に変更されます

トグルボタンを追加しました。これは、暗い/明るいテーマを切り替える必要があります。しかし、私は現在のページでのみ変更することができました。テーマがデフォルトのものに戻されると、他のページに移動するとすぐに変更されます。コードは次のようになります:

RequestedTheme = toggleButton.IsChecked.Value ? ElementTheme.Light : ElementTheme.Dark; 

また、自分の明暗のテーマを作りたいと思います。

これは簡単な解決策はありますか?

おかげ

+2

を参照してください。 '((Frame)Window.Current.Content).RequestedTheme = toggleButton.IsChecked.Value? ElementTheme.Light:ElementTheme.Dark; ' –

+0

ありがとう、これはそれを解決しました。ちょっと別の質問ですが、どのようにスタイルをカスタマイズできますか?たとえば、ダークスタイルのカスタムカラーを作成する方法は? – user3239349

+0

テーマごとにカスタムリソースディクショナリを作成する必要があります。見てください[ここ](https://msdn.microsoft.com/en-us/windows/uwp/controls-and-patterns/resourcedictionary-and-xaml-resource-references#theme-resources-and-theme-dictionaries )。 –

答えて

0

代わりに、ページオブジェクトのアプリケーションを使用する上でRequestThemeを変更します。 App.Current.RequestTheme = toggleButton.IsChecked.Value? ElementTheme.Light:ElementTheme.Dark;

はあなたがリアルタイムでテーマを変更したい場合は、アプリケーションを再起動せずに、アプリのrootFrameのテーマを変更する必要があり Changing Theme in Windows 10 UWP App Programmatically

+0

これはサポートされていません。 'Application.RequestedTheme'は、アプリケーションコンストラクタでのみ変更できます。 –

+0

ConceptProject.exeで 'System.NotSupportedException'タイプの例外が発生しましたが、ユーザーコードで処理されませんでした – user3239349

関連する問題