2

GridView に表示しているデータベースにオブジェクトを格納しています。データベースから各プロパティをバインドしています。色のプロパティは 16 進数値として格納されます。

以下に示すように、コンバーター関数を使用してこの16進値をバインドしようとしていますが、今のところ毎回赤を返すだけです。

動作しているように見えますが、最終的に次のエラーが返されます: The program '[5548] TranslatorService.Example.exe: Managed (v4.0.30319)' has exited with code -1073741189 (0xc000027b).

誰が私が間違っているのか教えてもらえますか?

分離コード:

public class StringToColorConverter : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, String language)
    {
        return Colors.Red;
    }

    public object ConvertBack(object value, Type targetType, object parameter, String language)
    {
        throw new NotImplementedException();
    }
}

XAML:

 <Grid.Background>
                        <SolidColorBrush Color="{Binding Path=ColorHex, Converter={StaticResource ColorConverter}}" />
                    </Grid.Background>

ありがとうございました

4

3 に答える 3

3

私の経験では、色ではなくブラシを割り当てる必要があります:

SolidColorBrush mySolidColorBrush = new SolidColorBrush();
mySolidColorBrush.Color = Color.FromArgb(255, 255, 0, 0);

また

mySolidColorBrush.Color = Color.Red;
于 2013-03-18T06:13:27.500 に答える
0

再コンパイルすると問題は解決したようです。

于 2013-03-21T03:48:32.370 に答える
0

投稿されたコンバーター コードでは、Color.Red を返しているため、何valueがあっても毎回 Red を取得します。

于 2014-02-04T20:11:21.330 に答える