画像コントロールを作成すると、テーマに応じて色が反転します
-
09-10-2019 - |
質問
私はどうやって持っているかを考えようとしています Image
Windows Phoneアプリケーションの制御は、グローバルバックグラウンド設定(「暗い」または「光」のいずれか)に基づいて色を反転させます。
解決
フレームワーク内で画像の色を反転する組み込みの方法はありません。
代わりに、電話でこれを行うオーバーヘッドのため、デザイン/ビルド時間に両方のバージョンの画像を作成し、検出してコードから表示するバージョンを選択する必要があります テーマの可視性と不透明度.
他のヒント
私が最終的にしたことは、マットが書いたものの続きだったことを付け加えなければなりません。
- 画像の異なるバージョン(暗くて明るい)を持つ2つの異なる画像を作成し、まったく同じ位置に配置します
- テーマリソースに基づいて可視性を設定します
コードは次のようになります:
<Image Height="30" HorizontalAlignment="Center" Margin="0,0,0,220" Name="imgDark" Stretch="Fill" Visibility="{StaticResource PhoneLightThemeVisibility}" VerticalAlignment="Center" Width="30" Source="/MyApplication;component/imageDarkTheme.png" />
<Image Height="30" HorizontalAlignment="Center" Margin="0,0,0,220" Name="imgLoading" Stretch="Fill" Visibility="{StaticResource PhoneDarkThemeVisibility}" VerticalAlignment="Center" Width="30" Source="/MyApplication;component/imageLightTheme.png" />
この質問は今1.5歳です。だが ここ あなたが望むことをする最も簡単な方法です。そこに与えられた例は非常に単純です
<Button>
<Image Stretch="None" Source="{Binding Converter={StaticResource ThemedImageConverter}, ConverterParameter={StaticResource PhoneBackgroundColor} }"
DataContext="/WP7SampleProject4;component/Images/{0}/appbar.feature.camera.rest.png" />
</Button>
所属していません StackOverflow