2009-10-07 2 views
0

Есть ли способ динамически добавить элемент управления кнопки (вместе с именем столбца) в столбец WPFDataGrid?Как добавить динамическую колонку Button в WPF Datagrid?

Нажав кнопку заголовка, откроется всплывающее окно.

Эта генерация кнопок является динамической, которая будет определяться из-за кода, для некоторых заголовков столбцов необходимо добавить, для некоторых не нужно добавлять.

ответ

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 
     } 
    } 
} 
Смежные вопросы