2009-10-07 10 views
0

Est-il possible d'ajouter dynamiquement un contrôle de bouton (avec le nom de colonne) à la colonne WPFDataGrid, ??Comment ajouter dynamiquement la colonne Button to WPF Datagrid?

En cliquant sur le bouton d'en-tête, une fenêtre s'ouvrira.

cette génération de boutons est dynamique, ce qui sera décidé par code-behind, pour certains en-têtes de colonne doivent ajouter, pour certains pas nécessaire d'ajouter. Peut-être avec un sélecteur DataTemplate?

Répondre

1

Quelque chose comme ceci:

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 
     } 
    } 
} 
Questions connexes