0

私はこのスタイルを持っています:

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背景が変更された行を取得する方法を教えてください。

4

1 に答える 1

0

Binding で TargetUpdated にハンドラーをアタッチします。

http://msdn.microsoft.com/en-us/library/system.windows.data.binding.targetupdated.aspx

于 2013-10-15T09:44:34.600 に答える