有没有办法动态添加按钮控件(以及列名)到WPFDataGrid列,??
点击标题按钮,弹出窗口将会打开。
这个按钮生成是动态的,它将由代码隐藏决定,因为某些列标题需要添加,有些则不需要添加。
答案 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
}
}
}