Qu'est-ce que le code-behind pour datagridtemplatecolumn, et comment l'utiliser?
J'ai un DataGrid
en WPF. Et je suis en train d'ajouter Button
s pour certaines cellules de la grille, après il est lié à un particulier ItemsSource
. J'ai essayé de le faire dans le code xaml comme ceci:
<dg:DataGridTemplateColumn x:Name="R1" CanUserReorder="False" IsReadOnly="False">
<dg:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<awc:ImageButton Content="Edit" Name="btnEdit" Visibility="Collapsed"/>
</DataTemplate>
</dg:DataGridTemplateColumn.CellTemplate>
</dg:DataGridTemplateColumn>
Cependant, je veux savoir comment je peux faire cela dans le code derrière. J'ai besoin de cela pour que je puisse placer Button
s à chaque fois qu'un particulier, cliquez sur prend même endroit. Toute aide sera très appréciée.
OriginalL'auteur Gagan | 2009-11-18
Vous devez vous connecter pour publier un commentaire.
utiliser ceci:
J'ai utilisé ce pour ajouter une Case à cocher dans mon DataGridTemplateColumn au moment de l'exécution.
Espérons que cette aide!!
FrameworkElementFactory(typeof(Button))
, comment puis-je ajouter le Texte du Bouton? J'ai été incapable de le faire, ou alors j'ai loupé quelque chose?Sinha, utilisez factory1.SetValue(Bouton.ContentProperty, b1); Vous pouvez définir la propriété de Bouton dans votre cas, de la même manière que je suis en train de la propriété IsChecked de Case à cocher dans l'exemple ci-dessus.
Sweet! Donc, tout simplement!! Merci beaucoup.
OriginalL'auteur viky
Anurag la réponse sera très bien pour vous si vous voulez pour ajouter les boutons avant que la grille est instancié, plus précisément avant d'ajouter la colonne de la grille.
Si vous souhaitez ajouter le bouton de la cellule de la grille après la grille est déjà construit, vous pouvez le faire en apportant des modifications à la DataGridCell objet. D'abord, vous devez trouver:
DataGridCell
en utilisantDataGridColumn.GetCellContent
VisualTreeHelper
à l'analyse de l'arborescence visuelle de laDataGridCell
Une fois cela fait, il existe plusieurs façons d'ajouter un bouton à la DataGridCell, en fonction de ce que vous essayez d'atteindre:
DataGridCell.Template
à un ControlTemplate contenant les boutons et d'autres style que vous désirez, OUDataGridCell.ContentTemplate
à un DataTemplate contenant les boutons et autres articles que vous désirez, OUDataTemplate
comprennent un espace réservé panneau de tenir de nouveaux boutons, de recherche en bas de l'arborescence visuelle de ce groupe parName
, et d'ajouter votre touche.Une approche alternative qui ne nécessite pas de trouver la cellule est de:
ObservableCollection<T>
bien à votre modèle d'affichage qui fournit les informations pour créer les boutonsDataTemplate
comprennent unItemsControl
que la référence de ce bien et a unDataTemplate
que peut créer le bon bouton de typeT
ObservableCollection
propriétéOriginalL'auteur Ray Burns