Я хочу изменить шаблон данных столбца в моей сетке данных на основе типа данных столбца.Я изменяю шаблон данных столбцов в событии AutoGeneratingColumns
, но я не знаю, как установить привязку в шаблоне данных к свойству itemsource, которое я не знаю во время компиляции.
вот мойAutoGeneratingColumns
событие
private void AutoGeneratingColumns(object sender, DataGridAutoGeneratingColumnEventArgs e)
{
if(e.PropertyType == typeof(bool))
{
e.Cancel = true;
dataGrid.Columns.Add(new DataGridTemplateColumn()
{
Header = e.Column.Header,
CellTemplate = FindResource("FeeButtonTemplate") as DataTemplate
});
}
}
И мой шаблон данных
<DataTemplate x:Key="FeeButtonTemplate">
<Button Background="{StaticResource RedColorBrush}" Foreground="{StaticResource LightColorBrush}">
<Button.Template>
<ControlTemplate>
<Border Width="{TemplateBinding Width}" Height="{TemplateBinding Height}" CornerRadius="5" Background="{StaticResource RedColorBrush}">
<ContentPresenter Content="{Binding}"></ContentPresenter>
</Border>
</ControlTemplate>
</Button.Template>
</Button>
</DataTemplate>
Я могу думать только о создании шаблона данных в коде и установке там привязки, но это не будетлучший способ.Поэтому я ищу более чистое решение.Любая помощь или предложение будут оценены:)