Changement de style pour tous les ListBoxItem dans une ListBox (Windows phone 8)
J'ai une Listbox avec certains Listboxitem et je voudrais changer le style de tous les éléments. Je sais, il est possible de créer un style de ressources et de lier ce style de chaque élément, mais peut-être est-il une possibilité de le faire tellement plus facile (sans liaison)? Avec ListBox.ItemTemplate?
<ListBox SelectionChanged="ListBox_SelectionChanged">
<ListBoxItem x:Name="ItemAdress">
....
</ListBoxItem>
<ListBoxItem x:Name="ItemPhone">
....
</ListBoxItem>
<ListBoxItem x:Name="ItemEmail">
....
</ListBoxItem>
</Listbox>
En fait, mon objectif est d'ajouter de la Marge en bas à 15 pour chaque élément. (ajouter un espace entre les éléments)
InformationsquelleAutor Volkan | 2013-04-16
Vous devez vous connecter pour publier un commentaire.
Remarque: Cela fonctionne pour WPF; vous ne savez pas si il fonctionne pour Windows Phone aussi.
Vous pouvez créer un style à l'aide de TargetType. Cela affecterait tous
ListBoxItem
s pour cette ListBox:Si vous voulez style ListBoxItems pour tous zones de liste, vous pouvez spécifier un style au niveau parent.
E. g. qui suit s'applique de style pour tous les ListBoxItems de toutes les listes en vertu de cette Grille.
<Style TargetType="ListBoxItem">
De construire sur publicgk réponse que je voudrais montrer comment vous pouvez faire cela "facile", ainsi que d'ajouter quelques plus d'infos dans RE de style. Si vous le saviez déjà ce que je suis sur le point de dire, alors je m'excuse d'avance - je suis en ajoutant ce juste au cas où quelqu'un est à la recherche à cette question afin de ne pas familier avec WP8 ou XAML développement.
Si vous voulez le style, la manière données est affiché alors je vous recommande de créer un DataTemplate, et de définir la zone de liste.ItemTemplate pour que datatemplate (comme vous le suggérez vous-même ci-dessus).
Vous pouvez le faire en ligne, ou avoir le DataTemplate comme une ressource et de référence par son nom.
Avis que vous devez définir la itemssource, ce qui peut être fait dans le code-behind en accédant à la zone de liste en lui donnant un nom (x:name="nom") ou à l'aide d'un liant et de la liaison à la propriété avec ce nom (assurez-vous de définir le DataContext ainsi)
Si vous voulez style comment défaut ListBoxItem (comme l'interaction, les marges, etc.) ensuite, vous pouvez publicgk a écrit créer un style avec les contrôles targettype et de le définir comme une ressource, soit sur le niveau parent, page ou une application de niveau. Pour tous les contrôles dans l'ensemble de l'application, de l'utilisation de l'app de niveau avec un dictionnaire de ressources de garder tout propre et bien rangé 🙂
C'est le moyen le plus facile de créer un modèle COMPLET pour remplacer le style dans Visual Studio 2012 OU en Mélange:
Cliquez du bouton droit sur le contrôle dans le concepteur ou dans le plan du Document de WIndows et sélectionnez Modifier le Modèle, Modifier une Copie, donnez-lui un nom si vous voulez une ressource nommée, ou sélectionnez l'option appliquer à tous (ce qui élimine en principe le nom).
Et depuis j'adore les show-and-tell, voici quelques images:
Puis aller de l'avant et de le modifier comme vous le souhaitez 🙂
Le code de modèle: