Je tente d'envelopper essentiellement le contenu d'un DataTemplate
dans un ListView
GridViewColumn
avec une bordure. Ce que je veux savoir, c'est s'il est possible de fournir un adorateur qui entourera ce modèle de sorte que je n'ai pas à spécifier la bordure dans chaque DataTemplate
sur chaque colonne (ce que je fais maintenant). J'ai quelque chose comme ça, mais je sais que ce qui ne va pas:Envelopper ou orner wpf listview datatemplate
<Style TargetType="{x:Type ListBoxItem}">
<Setter Property="TemplateContent">
<Setter.Value>
<ControlTemplate>
<StackPanel>
<Border BorderBrush="Green" BorderThickness="1">
<AdornedElementPlaceholder />
</Border>
</StackPanel>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Ce reproche au TemplateContent
est pas un type valide. J'ai aussi essayé avec DataTemplate
et cela ne fonctionne pas non plus (c'est compréhensible).
Je sais que je pourrais simplement créer un DataTemplate
, mais le contenu de chaque colonne est différent. À tout le moins, il se lie à différents domaines. Je me demande s'il existe une solution utilisant une ressource dynamique, mais je n'en sais pas grand-chose. Merci pour votre aide
EDIT: Voici un exemple de mon ListView
:
<ListView ItemsSource="{Binding Path=OrderLines}"
ItemContainerStyle="{StaticResource ResourceKey=ListViewItemContainerStyle}">
<ListView.View>
<GridView>
<GridViewColumn>
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBox MaxWidth="30" Width="30" MaxLength="2"
Text="{Binding Path=Quantity,ValidatesOnDataErrors=True}" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridView>
<ListView.View>
</ListView>
Essentiellement, je veux envelopper cette zone de texte dans le DataTemplate
et d'autres éléments dans les colonnes supplémentaires.
Cela ne semble pas fonctionner, je pense que parce qu'il remplace le modèle ListBoxItem/ListViewItem entier - de sorte que la boîte verte tourne autour de la ligne entière, pas autour de chaque cellule. – itowlson
Je devrais mentionner que j'ai mal tapé et que le type de cible serait n'importe quel ListVIEWItem et non ListBoxItem. En tant que tel, je ne peux pas sembler obtenir cet exemple pour fonctionner. Cela fonctionnera pour les éléments d'une liste listée par GridViewColumns, mais tout ce que je vois c'est la bordure verte et le contenu est maintenant parti. Ma listview a des modèles personnalisés. Je vais mettre à jour la demande principale avec un échantillon du code. Comment aurais-je eu à appliquer ce style à des listes de lecture singulières (c'est-à-dire - quelle est la propriété pour lier la ressource statique sur la liste car ce n'est pas celltemplate). –