Windows10でユニバーサルアプリのカスタムテーマを作成する
テーマがサポートされていても、Windows10のカスタマイズオプションは制限されています。 ビジュアルUI要素とウィンドウフレームの外観をわずかに変更するサードパーティのテーマを適用できますが、ユニバーサルアプリには影響しません。 すぐに使用できるWindows10は、ユニバーサルアプリのライトテーマとダークテーマのみをサポートします。 独自のカスタムテーマを作成する方法は次のとおりです。
Redditユーザー "マクデニス」 Windows10のユニバーサルアプリで使用されるデフォルトのテーマを完全にカスタマイズするための比較的シンプルで信頼性の高い方法を見つけました。 彼の方法を使用すると、UWPのすべての共通コントロールの外観を変更できます。 適用されたカスタマイズの例を次に示します。
Windows10でユニバーサルアプリのカスタムテーマを作成する方法
続行する前に、次のツールとアプリをインストールする必要があります。
- Visual Studio 2015 Express 使用しているのと同じWindowsビルド用のSDKを使用します。 MicrosoftはInsiderビルド用のSDKをリリースしないことが多いことに注意してください。 このリンクを参照してください.
- リソースハッカー.
パート1:カスタマイズしたXAMLテーマを作成する
- デスクトップにデフォルトのテーマのコピーを作成します。 ビルド10240とすべてのデフォルトのインストール場所を使用しているとすると、そのフルパスは次のようになります。
C:\ Program Files(x86)\ Windows Kits \ 10 \ DesignTime \ CommonConfiguration \ Neutral \ UAP \ 10.0.10240.0 \ Generic \ themeresources.xaml
- 新しく作成したコピーをVisualStudioで開きます。 ファイルは3つのセクションに分かれています。 1つ目はダークテーマ(「デフォルト」テーマと呼ばれます)を定義し、2つ目はライトテーマを定義し、3つ目はハイコントラストテーマを定義します。 ダークテーマを使用するときに、Edgeのツールバーの色を変更するとします。 まず、それを定義するリソースのキーを特定します。 このガイドを使用できます。
この場合、キーは「SystemChromeMediumLowColor" - そのキーの最初のインスタンスをで見つけます themeresources.xaml (キーはライトテーマとハイコントラストテーマのファイルの後半にも表示されるため、「最初のインスタンス」を指定します)。
- color要素に含まれている16進値を、選択した色のARGB16進値に置き換えます。 最後に、変更を保存します。
パート2:テーマをxbfファイルにコンパイルします
Visual Studioで、新しいC#またはVisual BasicUniversalアプリプロジェクトを作成します。 ソリューションエクスプローラーペインを使用して、変更したXAMLテーマのコピーをプロジェクトに貼り付けます。
その後、ビルドモードをリリースに設定し、プロセッサアーキテクチャをWindowsインストールと同じに設定します。
押す Ctrl + Shift + B ソリューションを構築します。
それが完了したら、ソリューションエクスプローラーでプロジェクト名を右クリックし、[ファイルエクスプローラーでフォルダーを開く]を選択します。 bin-> x86またはx64-> Releaseに移動し、デスクトップに「themeresources.xbf」というファイルをコピーします。
最後に、コピーのファイル拡張子を「.xbf」から「.rc」に変更します。
パート3:デフォルトのテーマをカスタムテーマに置き換えます
-
所有権を得る 次のファイルのコピーを作成し、デスクトップにコピーします。
%windir%/ System32 / Windows。 UI.XAML.Resources.dll
- ResourceHackerでコピーを開きます
- ナビゲーションペインで、[256]-> [themeresource.xbf:1024]に移動します。
- メニューバーで、[アクション]-> [リソースの置換]をクリックします。
- 表示されるダイアログボックスで、[ファイルの選択]ボタンをクリックし、デスクトップにある「themeresources.rc」というファイルを開きます。
- 「置換」ボタンをクリックします。
- 最後に、変更を保存します(Ctrl + S)。
- 名前を変更します オリジナル Windowsへのファイル。 UI.XAML.Resources.dll.oldを使用して、デスクトップにある変更されたファイルを system32 フォルダ。 最後に、ログアウトして再度ログインします。 これで、新しいテーマが適用されます。
デフォルトのコントロールテンプレート(より複雑な変更を行うために必要)を変更する場合、プロセスは少し複雑ですが、同様です。
元のコントロールテンプレートを取得して変更し、空のリソースディクショナリに配置し、そこからxbfファイルを作成して、Windowsで関連リソースを置き換える必要があります。 UI.XAML.Resources.dll。
システムファイルを変更すると、オペレーティングシステムが予期しない動作をする可能性があることに注意してください。 また、いつの日か、変更したファイルに影響を与えるWindows 10の更新により、デフォルトのテーマが復元されるため、上記の手順をもう一度繰り返す必要があります。
クレジット: mcdenis. おかげで @FlatDesignSucks このヒントのために。