У меня есть пользовательский DataGrid
и в OnAutoGeneratingColumn
Я создаю стиль в соответствии с типом столбца. У меня есть первый столбец с DateTime, который я не хочу менять, а затем остальное, где я хочу определить, находится ли значение вне пределов. Теперь я хочу изменить фон, если значение выходит за его пределы, и я хочу также изменить цвет фона. Поэтому я создал свойство зависимости и в триггере данных хочу привязать цвет к этому свойству. Единственная проблема заключается в том, что она не работает. Есть идеи?Программно связать сеттер с пользовательским свойством зависимости
Моя собственность зависимость
public Color BiggerThanMaxBackgroundColor
{
get { return (Color)GetValue(BiggerThanMaxBackgroundColorProperty); }
set { SetValue(BiggerThanMaxBackgroundColorProperty, value); }
}
public static readonly DependencyProperty BiggerThanMaxBackgroundColorProperty =
DependencyProperty.Register("BiggerThanMaxBackgroundColor", typeof(Color), typeof(MwiTableDataGrid), new PropertyMetadata(default(Color)));
Настройка стиля в OnAutoGeneratingColumn
//Trigger to check if the number is higher than the top limit
DataTrigger higherTrigger = new DataTrigger();
higherTrigger.Binding = new Binding(columnHeaderName)
{
Converter = new MoreThanConverter(),
ConverterParameter = SelectedDevices[this.Columns.Count - 1].maxValue
};
higherTrigger.Value = "True";
binding = new Binding
{
Source = this,
Path = new PropertyPath("BiggerThanMaxBackgroundColor")
};
higherTrigger.Setters.Add(new Setter(BackgroundProperty, binding));
Style style = new Style(typeof(DataGridCell));
style.Triggers.Add(higherTrigger);
e.Column.CellStyle = style;
Это не проблема, но это позволило мне решить проблему. Проблема была в том, что свойство Background имеет тип SolidColorBrushe, и я использовал Color ... – MartinVotruba