如何动态地将Button添加到WPF Datagrid列?

时间:2009-10-07 12:09:39

标签: wpf button datagrid wpfdatagrid wpftoolkit

有没有办法动态添加按钮控件(以及列名)到WPFDataGrid列,??

点击标题按钮,弹出窗口将会打开。

这个按钮生成是动态的,它将由代码隐藏决定,因为某些列标题需要添加,有些则不需要添加。

1 个答案:

答案 0 :(得分:1)

可能使用DataTemplate选择器?像这样:

XAML:

<ListView ItemsSource="{Binding}">
    <ListView.View>
        <GridView>
            <GridViewColumn>
                <GridViewColumn.HeaderTemplateSelector>
                    <local:MyColumnHeaderSelector />
                </GridViewColumn.HeaderTemplateSelector>
            </GridViewColumn>
        </GridView>
    </ListView.View>
</ListView>

C#:

public class MyColumnHeaderSelector : DataTemplateSelector
{
    public override DataTemplate SelectTemplate(object item, DependencyObject container)
    {
        if(yourCondition == true)
        {
            return (DataTemplate)App.Current.MainWindow.FindResource("ColumnTemplateWithButton"); // this DataTemplate is defined in the resources of your window
        }
        else
        {
            return (DataTemplate)App.Current.MainWindow.FindResource("ColumnTemplateWithoutButton"); // this DataTemplate is defined in the resources of your window
        }
    }
}