私はタイプSolidColorBrushのオブジェクトを持っていて、それは SolidColorBrushを保持しています。私のコンバータークラスへのC#SolidColorBrush
私はリストにバインドされた私のdataGrid用のコンバータを持っています。 このDataGridの各行は、私が持っているConverterによって色付けされます。
すべて正常に動作しますが、静的な「Brushes.Red」ではなく、どのようにしてSolidColorBrushオブジェクトを返すことができますか。
マイコンバータ:
[ValueConversion(typeof(MainWindow.eErrorLevel), typeof(Brush))]
public class TypeToColourConverter : IValueConverter
{
#region IValueConverter Members
public object Convert(object value, Type targetType, object parameter,
System.Globalization.CultureInfo culture)
{
MainWindow.eErrorLevel errorLevel = (MainWindow.eErrorLevel)value;
switch (errorLevel)
{
case MainWindow.eErrorLevel.Information:
return Brushes.Red;
case MainWindow.eErrorLevel.Warning:
return Brushes.Yellow;
case MainWindow.eErrorLevel.Error:
return Brushes.Red;
}
return Brushes.Gray;
}
public object ConvertBack(object value, Type targetType, object parameter,
System.Globalization.CultureInfo culture)
{
throw new NotSupportedException();
}
#endregion
}
thatsの重要 そして公開されている私のメインウィンドウで[マイSolidColorBrushのオブジェクトならば私のコンバータは、メインウィンドウではありません。
public CurrentColor CurrentColors = new CurrentColor();
public class CurrentColor
{
public SolidColorBrush ERROR { get; set; }
public SolidColorBrush WARNING { get; set; }
public SolidColorBrush INFORMATION { get; set; }
}
EDIT:私のブラシをすることができユーザー自身によって動的に設定されます
EDIT2:今すぐ働いていただきありがとうございます:)
あなたは変換パラメータとして 'CurrentColor' _(StaticResource)_のインスタンスを渡すことができます。 –
それはどうやって説明できますか? –
3つのSolidColorBrushプロパティをTypeToColourConverterクラスに配置し、コンバータリソースを宣言するときにその値を設定することもできます。 – Clemens