2016-03-11 6 views
2

У меня есть DataGrid, который сделан динамически пользователем. Это означает, что каждый раз, когда он запускает столбцы, может и будет отличаться. По этой причине каждый столбец программно добавлен. Мне нужно добавить некоторые DataTriggers к нему так понял, это будет работать:WPF Программно добавить DataGridTextColumn с DataTrigger

Style style = new Style(); 
style.TargetType = typeof(DataGridTextColumn); 
DataTrigger tg = new DataTrigger() 
{ 
    Binding = new Binding(value), 
    Value = "bad data" 
}; 
tg.Setters.Add(new Setter() 
{ 
    Property = UIElement.VisibilityProperty, 
    Value = Visibility.Hidden 
}); 

Хотя это не дает каких-либо ошибок в IDE при запуске он выходит из строя и дает мне 'DataGridTextColumn' type must derive from FrameworkElement or FrameworkContentElement.

Что такое правильный способ добавления DataTrigger - a DataGridTextColumn Программно

ответ

2

Необходимо использовать typeof(DataGridCell). Триггер должен применяться к самому Cell, а не к Column.