2014-04-29 3 views
0

J'ai besoin d'un listview avec plusieurs boutons pour le défilement. Par exemple.ListView avec des boutons externes - Personnalisé ou Contrôle Utilisateur?

ScrollToTop Bouton Scrollup Bouton ListView Scrolldown Bouton ScrollToBottom Bouton

J'ai eu les boutons de travail dans une application WPF en utilisant le code mentionné here. Maintenant, j'ai besoin de réutiliser ceci en faisant un contrôle (sans apparence?). La disposition de la liste et des boutons peut être horizontale ou verticale. Dois-je utiliser un contrôle personnalisé ou un contrôle utilisateur?

+1

Un contrôle utilisateur. Vous n'êtes pas vraiment en train de créer un nouveau contrôle, mais de composer un contrôle existant et de le regrouper en un seul contrôle pour en faciliter la réutilisation. – Steve

+0

Je considérerais soit les comportements de bouton, c'est-à-dire ayant des boutons de séparation avec des rôles - ScrollToTop & ScrollToBottom et un contrôle de cible - votre listview, ou peut-être même un plus haut niveau d'abstraction. Le fonctionnel ne vaut pas non plus d'options quant à moi. – user3455395

+0

Merci Steve. Avec le contrôle de l'utilisateur, est-il possible d'avoir différents styles pour ListView? Est-ce que nous pouvons modifier le style de ListView lorsque nous utilisons le contrôle utilisateur? – ShipOfTheseus

Répondre

1

Voici ce que je recommanderais.

N'utilisez aucun élément précomposé. Créer un comportement ScrollList, en acceptant deux paramètres - Direction et cible, Direction sera Top || En bas, Ciblez la liste - vous pouvez à nouveau utiliser la liaison ElementName.

La raison pour laquelle je recommande cette approche est le code réel requis pour faire défiler votre liste est minuscule, tandis que la gestion des mises en page via les propriétés dans WPF est un désordre (oui vous pouvez aller ControlTemplates, mais c'est définitivement trop havy pour ce que vous essayez de faire).

Si les comportements sont trop complexes, pensez à créer quelques commandes.

+0

Merci beaucoup user3455395. Je vais essayer et voir comment ça se passe. Vraiment apprécier votre aide. Je ne peux pas voter pour votre réponse (car je n'ai pas assez de réputation) mais c'est probablement ce que je dois faire. – ShipOfTheseus

Questions connexes