2016-07-08 10 views
0

Windows-10用のUniversal Windowsプラットフォーム(UWP)で作業しています。 私はアプリケーションのレイアウトの色の変更に関する問題があります。私の問題は、私のアプリケーションのテーマの色が変更されたテーマに応じて影響を受ける時間は私のデバイス(ラップトップ/ Tabulate /モバイル)テーマを変更するたびにです。システムテーマの変更でWindowsアプリケーションのレイアウトの色が変更される

例:私のラップトップのテーマを高コントラストに変更しました。その時間に私のWindowsアプリケーションのテーマも影響を受け、アプリケーションの全体レイアウトが変更されました。

どうすればよいですか?

+0

追加情報を提供してください。正確には何が変わるのですか?テーマの色を使用すると、テーマの変更に応じて変化します。それが意図された動作です。 –

+0

@KaiBrummund:実際に私のアプリケーションのテーマは、ユーザが自分のコンピュータシステムに対してハイコントラストを選択した場合にのみ影響を受けます。私のアプリケーションに黒のフォントカラーがある場合、そのフォントは表示されません。黒です。 –

答えて

0

実際に私のアプリケーションのテーマは、ユーザーが自分のコンピュータシステムに対してハイコントラストを選択した場合にのみ影響を受けます。私のアプリケーションに黒のフォントカラーがある場合、そのフォントは表示されません。背景は黒です。

UWPアプリは、デフォルトでコントラストの高いテーマをサポートしています。このデフォルトのサポートは、デフォルトのテーマとテンプレートの使用に基づいています。これらのテーマとテンプレートは、システムカラーをリソース定義として参照し、システムが高コントラストモードを使用しているときにリソースソースが自動的に変更されます。

リソースは、プロジェクトのgeneric.xamlファイルとthemeresources.xamlにあります。だからBadソリューションは、すべてのHighConrtrastリソースをプロジェクト内の通常のリソースに上書きできるということです。あなたは、このような可能パスでこの2つのファイルを見つけることができます:C:\Program Files (x86)\Windows Kits\10\DesignTime\CommonConfiguration\Neutral\UAP\10.0.10586.0\Genericを、そしてHighContrast資源の一つは、このようなものです:

<ResourceDictionary x:Key="HighContrast"> 
    <!-- High Contrast theme resources --> 

    <!-- 
    **************************************************** 
    HIGH CONTRAST COMMON CONTROL COLORS 
    **************************************************** 
    --> 

    <Color x:Key="SystemAltHighColor">#FF000000</Color> 
    <Color x:Key="SystemAltLowColor">#33000000</Color> 
    ... 
</ResourceDictionary> 

ので、親切に私は何をすべき私を示唆しますか?

私の提案は、それは、HighContrastはそこに残し、我々はアプリを開発するとき、私たちは光の色盲目の人々を懸念すべきです。 HighContrastモードでは、を使用しないでください。は好きなだけ色を使用してください。だから私はこれがお勧めではないと言ったのです。

ただし、HighContrastモードでレイアウトを変更できないわけではありません。公式ドキュメントHigh-contrast themesを参照してください。

+0

:あなたの解決策を理解できませんでした。実際には、私は、高コントラストのテーマを選択したときと同じように、私のアプリのテーマの色をそのまま残しておきたいと考えています。テーマはアプリケーションに影響を与えてはならないということです。 –

+0

@HardikKothari、私はハイコントラストモードを無効にできないことを伝えようとしていましたが、このモードでは色の値を変更するだけでよく、注意深く変更してハイコントラストのリソースを通常のリソースに置き換えることは絶対に必要です良い解決策ではありません。 –

+0

@HardikKothari、私はwinjsのUWPプロジェクトのCSSのための高コントラストモードを無効にする方法があると言わなければならない、私はテストしていないが、xamlを使用したことを述べたので、 –

関連する問題