白と黒の 2 つの画像セットを使用するアプリを作成しています。OS全体でユーザーが現在使用しているバックグラウンドに依存します。(個人的には黒の背景が好きですが、絶望的な人は白を使うことを知っています)
そう。2 つのフォルダーを作成しまし/Images/Dark
た/Images/Light
。同じファイル名が含まれていますが、唯一の違いは画像の色 (暗い場所では白、明るい場所では黒) です。私は次のように作業します: Image Source を何かにバインドするときはいつでも、String appBackground;
どちらが Light または Dark に設定されているかをチェックしてから、残りのパスを作成します。このような:
this.imageSource = getIconPath((App.Current as App).appBackground) + this.name + ".png";
これはうまくいきます。問題は、たとえば、画像がそのソースをバインドするオブジェクトのリストをファイルに保存したい場合です。これは、1 つのパスに固定されている文字列をシリアル化するためです。そのため、白いアイコンのアイテムのリストがあるかもしれませんが、背景を白に変更してもアイコンは同じままです。
私の考えは、最後のファイル名部分だけを保存することでした。( this.name+".png"
) そして、どういうわけか、それを appBackground に動的に接着します。問題は、それを適切に行う方法が本当にわからないことです。