Как установить привязку таблицы данных к динамическому столбцу в datagrid wpf - PullRequest
0 голосов
/ 07 мая 2019

Я хочу изменить шаблон данных столбца в моей сетке данных на основе типа данных столбца.Я изменяю шаблон данных столбцов в событии 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>

Я могу думать только о создании шаблона данных в коде и установке там привязки, но это не будетлучший способ.Поэтому я ищу более чистое решение.Любая помощь или предложение будут оценены:)

...