Grille vs. Toile
Je suis à la recherche d'avis sur l'utilisation de la Toile contre les panneaux Grille en WPF.
J'ai besoin de faire classique formulaires d'entrée de données qui ont fondamentalement la grille de mises en page, certains ont de petites datagrids à l'intérieur, groupboxes, mais tous alignés dans la grille de mise en page. J'ai du mal de savoir si l'utilisation de la Grille ou de la Toile panneau pour tous mes formulaires. La grille est de me donner une bonne structure; je peux maintenir l'alignement des contrôles plus facilement. Je vais avoir de la classe de base (qui hérite de la classe de Fenêtre) pour toutes les fenêtres, de sorte que designer en Visual Studio sera inutile, car il a des problèmes pour ce genre d'hériter, et avec Grille de panneau je n'ai pas vraiment besoin même designer, et je peux mettre à la fenêtre SizeToContent donc tout en place. Mais encore une fois, avec de la Toile, j'ai la capacité de la position de contrôle toute façon j'aime, et c'est le seul avantage que je vois lors de l'utilisation de la Toile.
Je n'ai pas beaucoup d'expérience dans WPF pour prédire sur quel genre de problèmes peut-on obtenir de demandes de la clientèle, de la mise en page. Sur les formulaires web, j'utilise parfois le positionnement absolu pour la forme seulement dans le cas où le client a certains “spéciaux” demande qu'à avoir le contrôle de pixels à droite ou à gauche sur la plus haute etc. tout le monde a travaillé avec des clients exigeants sais ce que je veux dire.
J'aimerais voir ce que vous en pensez, quels sont les avantages et les inconvénients de ces deux types d'application d'entreprise présentation d'un formulaire bâtiment? Pourquoi l'une est meilleure que l'autre? Tous les cas où un panneau serait mauvais pour l'utiliser, et d'autres pas? Quels sont les inconvénients d'un panneau à l'autre? Ce panneau vous l'utiliser ?
Grâce
source d'informationauteur Andrija Cacanovic | 2009-07-02
Vous devez vous connecter pour publier un commentaire.
Toile est principalement destiné à dessin personnalisé fonctionnalités plus qu'autre chose. La grille est certainement le meilleur choix disponibles pour la personnalisation de votre mise en page.
Vous pouvez obtenir assez en profondeur avec la forme de la grille, de la colonne/ligne de découpage, la largeur, la hauteur, etc.
À mon avis, serait plus facile à faire à la disposition des différents éléments sur une grille par le contrôle de la ligne et de la colonne sizez que de faire tout codé en dur dans une toile. Il permettra également de rendre les choses plus facile si ils décident de changer les résolutions plus tard sur la route.
D'Adam Nathan WPF Unleashed (p. 168):
Vous pouvez également faire preuve de créativité avec le contenu de vos commandes dans la grille pour avoir un meilleur niveau de contrôle de mise en page.
Une toile serait bon pour quelque chose comme une boîte de dialogue qui va rarement de changer la taille, et a un peu de contrôle sur elle, parce que ce serait obtenir beaucoup de temps de les poser tout comme le nombre augmente.
Personnellement, j'utilise les grilles de moi-même. Il peut être un peu plus de travail pour poser les choses au niveau des pixels, mais pour les 5% du temps qui est nécessaire, il vaut la peine pour l'abstraction enlevé beaucoup de tracas. Il est également agréable quand il est nécessaire de redimensionner les lignes et les colonnes à la volée, le GridSplitter fait qu'un composant logiciel enfichable.
Certainement Grilles semblent être ce dont vous avez besoin pour vos besoins.
Je comparerai les Grilles à tableaux en html (très utile quand il est utilisé de façon appropriée), tandis que la Toile est de plus en plus comme un div. La différence étant que les Grilles sont ce que les tableaux devraient être en HTML et de la même façon avec les div du vs Toile.
Sur le sujet de grilles, de prendre le temps de définir votre RowDefinitions et ColumnDefinitions, plutôt que de mettre de la marge sur votre contrôle de position tout correctement. Vous allez le regretter si vous ne le faites pas.
Même si vous ne pouvez pas utiliser VS Designer, vous pouvez toujours utiliser un code XAML visual designer pour créer/modifier votre contenu de la grille.
L'un des principaux UX avantages de WPF/SL/XAML est le HTML comme "liquide" capacité de mise en page. Même si vous ne pouvez pas besoin de cela avec votre conception actuelle, il est clairement l'avenir et le bien vaut la peine d'apprendre comment finesse.
Vérifier Rob Relyea excellente liste de XAML éditeurs
Je voudrais aller avec une Grille ou d'une institution spécialisée de la Grille de la sous-classe. Vous êtes en droit de Vue à propos de l'héritage. Le concepteur Visual Studio dans UWP, WPF génère du code de support pour la base et la sous-classe avec les mêmes noms de méthode. Il n'est pas compilé.
Depuis que j'ai pré-date génériques, nous pouvons revenir aux précédentes méthodes. L'une d'elles est une classe d'assistance. Chaque point de Vue met en œuvre
IBaseView
et a une propriétéViewHelper
ouViewHelper<T>
.enum ViewHelperOptions
pourrait bien être nécessaire. Si, tous les aides de vue peut utiliser l'héritage sans casser le Concepteur Visuel. Ceci permet l'utilisation de génériques de code spécifiques en vue de code sans casser le modèle MVVM. Appelons ça de la MVHVM comme ViewHelper a la connaissance de la ViewHelper. Cette nouvelle sépare le V de la VM.La pleine mise en œuvre peut nécessiter l'utilisation de
Activator.CreateInstance
. Une autre considération est les Constructeurs qui sont invoquées par le concepteur. Vous devez déplacer tous les "va-crash-si-non-exécution de code", dans une phase d'Initialisation a engendré (dire) l'événement Chargé. Vous pouvez également faire usage de (UWP):