J'ai un Silverlight DataGrid
avec deux colonnes. Les en-têtes de ces deux colonnes doivent être affichés avec une zone de texte et un titre ou un nom d'en-tête de colonne afin que la zone de texte puisse être utilisée pour le filtrage ultérieur.En-tête de colonne silverlight disparaît lors de l'application du modèle de style en-tête
Alors, je l'ai utilisé le code ci-dessous pour afficher la zone de texte en utilisant un style:
<Style x:Name="mytemplate"
x:Key="mytemplate"
xmlns:dataprimitives="clr-namespace:System.Windows.Controls.Primitives;assembly=System.Windows.Controls.Data"
TargetType="dataprimitives:DataGridColumnHeader">
<Setter Property="ContentTemplate" >
<Setter.Value>
<DataTemplate x:Name="ColHeaderTemplategrid">
<StackPanel>
<TextBox x:Name="txtfilterBox" KeyDown="txtfilterBox_KeyDown" Width="40"/>
</StackPanel>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
et j'ai appliqué le style à les en-têtes de colonnes comme ci-dessous:
((DataGridTextColumn)column[0]).HeaderStyle = mytemplate;
((DataGridTextColumn)column[1]).HeaderStyle = mytemplate;
La chose est, maintenant la zone de texte est visible mais le titre ou le nom d'en-tête de colonne disparaît? Comment afficher mon en-tête de colonne avec la zone de texte?
Utilisez-vous une sorte de liaison pour les en-têtes de colonnes? – Gabe
non je n'utilise pas de liaison il lie automatiquement l'en-tête précédemment, mais après avoir appliqué ce style à l'en-tête de colonne je ne pouvais pas voir le nom d'en-tête de colonne – subash
Eh bien ce serait parce que votre modèle a seulement une zone de texte dans le modèle qui afficherait l'en-tête comme un 'textblock' ou quelque chose de similaire. – Gabe