質問

私はWindows Phoneを使っています。問題は、を持っていないということです。代わりにColor.FromNameがあります。

四角形を持ち、読み込まれているファイルからの色のものに応じて塗りつぶし色を設定します。例えば色と呼ばれるファイルに「赤」を保存しました。私はそれを読んで、私はそれをColor.FromArgbという文字列に送信して、そのテキスト "赤"が内側に保持されます。

LpColorLpColorを使用する方法。rectangle.fill= lpcolorが機能しません。

これは私が私のファイルを読む方法に関するコードです:

IsolatedStorageFileStream readColor = store.OpenFile("/contactColor.txt", FileMode.Open, FileAccess.Read);
using (StreamReader contactColor = new StreamReader(readColor))
{
  var color = contactColor.ReadToEnd();
  LpColor = color;
}
.

役に立ちましたか?

解決

文字列(赤)として保存する必要がある場合は、文字列をカラーに戻す変換方法を作成できます。あなたが持っている色の数に応じて、メソッドの複雑さが成長するので、色を名前として保存することをお勧めします - 多分それをARGBと名前の組み合わせとして保存することができますか?その情報を保持するためにクラスを使用してください。多くのオプションがたくさんあります。

とにかく、あなたのシンプルなコンバータはこのようなことをするでしょう:

private SolidColorBrush ColorNameToBrush(string colorName)
{
    Color color = Color.FromArgb(0,0,0,0);
    if (colorName == "Red")
    {
        color = new Color() { R = 255, G = 0, B = 0};
    }
    else if ...
    {

    }

    return new SolidColorBrush(color);
}
.

redlessの代わりにswitchステートメントを使用すると、弦がたくさんある場合は、より良い考えがあるかもしれません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top