私はこのスタイルを持っています:
private Style ColorStyle(Container.ColorTrigger trigger)
{
Style style = new Style();
style.TargetType = typeof(DataGridRow);
DataTrigger dtGreen = new DataTrigger();
bool triggervalue = Convert.ToBoolean(trigger.Trigger);
IValueConverter converter = AssignConverter(trigger.Operator);
dtGreen.Binding = new Binding(trigger.Binding) { Converter = converter, ConverterParameter = trigger.Value };
dtGreen.Value = !triggervalue;
dtGreen.Setters.Add(new Setter(Control.BackgroundProperty, Brushes.LawnGreen));
DataTrigger dtRed = new DataTrigger();
dtRed.Binding = new Binding(trigger.Binding) { Converter = converter, ConverterParameter = trigger.Value };
dtRed.Value = triggervalue;
dtRed.Setters.Add(new Setter(Control.BackgroundProperty, Brushes.Red));
style.Triggers.Add(dtGreen);
style.Triggers.Add(dtRed);
return style;
}
スタイルは に設定されていDataGrid
ます。
Brushes.Red
トリガーが AND として設定されている場合にメソッドを呼び出す方法と、BackgroundProperty
背景が変更された行を取得する方法を教えてください。