Ce que peu de WPF avez-vous
- le plus difficile à comprendre
- ou mal compris pour la plus longue
et comment avez-vous le comprendre à la fin (veuillez fournir des liens, etc).
(Je demande cela pour les guider dans mon apprentissage de WPF)
Ce que peu de WPF avez-vous
et comment avez-vous le comprendre à la fin (veuillez fournir des liens, etc).
(Je demande cela pour les guider dans mon apprentissage de WPF)
Désolé, cela fait si longtemps ... j'espère que c'est utile! Une chose que je voudrais mentionner, c'est que ce sont les concepts/les choses qui a déclenché moi, je ne suis pas sûr si je voulais l'utiliser comme une liste détaillée de tout ce à étudier si vous êtes commencer juste dehors. Je voudrais plonger sur certains livres, lire beaucoup de blogs (Josh Smith, le Dr WPF), et en général, de plonger et de tester des choses en peu de projets.
Concepts De Base
La Logique et Visuelle des Arbres (liens: 1)
Comprendre les différents arbres dans WPF. En particulier, la compréhension de la logique de l'arbre contre l'arbre visuel et comment les éléments de l'arborescence logique, devient élargi dans l'arborescence visuelle par le biais de modèles de données, les modèles de contrôle, etc.
La Dépendance du Système de la Propriété (liens: 1, 2)
Comprendre l'ensemble de la propriété de dépendance du système dans WPF est beaucoup plus grand qu'il ne paraît à première vue. Bien sûr, il est facile de créer rapidement une propriété de dépendance et ensuite l'utiliser pour aider les autres WPF concepts comme la liaison de données et de l'animation, mais alors qu'elle commence.
Il est normal propriétés de dépendance et puis il y a joint des propriétés de dépendance. Il y a un tas de façons différentes de les inscrire tous et un tas de différentes options de métadonnées que vous pouvez définir.
Comprendre pourquoi il est appelé une propriété de dépendance, d'ailleurs, m'a pris un certain temps. C'est, étant entendu que la valeur de la propriété provient de nombreuses sources différentes (de la propriété dépend de ces fournisseurs de valeurs) et qu'il existe un ordre de priorité/algorithme de la façon dont la dernière valeur de la propriété à un moment donné est défini.
Les Événements routés (liens: 1, 2)
La compréhension de la façon dont ils peuvent être la formation de bulles, de routage, ou direct. La compréhension que vous pouvez aussi avoir attaché les événements routés (par rapport à la seule fixation d'un gestionnaire d'événement pour un événement qui a acheminé de l'arborescence visuelle).
Conseils
Chapitre 3 dans Adam Nathan WPF Unleashed est un super chapitre qui couvre ces important de nouveaux concepts et un que vous devriez lire, de travailler sur un projet, puis lisez à nouveau.
Le dr WPF extraits sont un excellent moyen d'apprendre sur les propriétés de dépendance, les événements routés et les commandes.
Concept graphique (liens: 1)
L'Indépendance de la résolution (liens: 1, 2)
WPF offre tous les avantages de resoultion indépendance (vous spécifiez le tout avec l'appareil indepenent pixels), mais cela apporte aussi quelques maux de tête que vous devez résoudre. Plus particulièrement, est à paraître quand vous le souhaitez en profitant de l'alignement des pixels, par la définition de lignes directrices, etc.
Mode retenu contre le Mode Immédiat
WPF a conservé le mode de dessin sous-système, en ce sens qu'elle permet de suivre les instructions de dessin et les caches pour les utiliser plus tard. Cela peut être un problème de performances si vous essayez de construire quelque chose qui a beaucoup d'effets visuels qui sont tous de la mise à jour à la fois.
Les contrôles, les Éléments Visuels (liens: 1)
La compréhension de ce que chaque chose dans la WPF hiérarchie fait pour vous et de comprendre le poids qu'il apporte dans la performance. En particulier, utilisez-vous un Contrôle que vous pouvez retemplate, relooker, et plus ... ou avez-vous besoin de quelque chose d'ultra-léger (comme la programmation contre le Visual layer) de telle sorte que vous pouvez conduire difficile et rapide.
Conseils
Chris Vend et Ian Griffiths ont une grande annexe à l'arrière de leur Programmation WPF livre qui parle des différents types de WPF API, où ils s'insèrent dans la hiérarchie, et la valeur qu'ils apportent.
WPF Modèles
Model-View-ViewModel (MVVM) (liens: 1)
Le modèle MVVM a déjà été mentionné comme aider à commencer à faire des choses WPF. Je ne peux pas être plus d'accord. Plutôt que de remplir les contrôles avec les données, vous commencez à transformer des données dans les visuels (par le biais de modèles de données).
Propriété attachée Modèle de Comportement (liens: 1, 2, 3)
WPF est extensible pas comme les autres API. En utilisant les propriétés jointes, que vous pouvez construire dans un comportement supplémentaire de façon très élégante et où vous avez pensé que vous pourriez avoir été coincé.
WPF != Windows Forms
Je sais que quelqu'un l'a déjà mentionné cela, mais je suis d'accord avec insistance. Il y a donc beaucoup de concepts nouveaux et différents, vous vraiment n'avez pas à désapprendre tout à fait un peu de choses et l'approche de résolution de problèmes à partir d'un angle complètement différent. Comme un exemple, Windows Forms est un mode immédiat dessin sous-système tout en WPF est un mode retenu un (ci-dessus).
Les Nombreuses Façons De Faire les Choses dans WPF
C'est une drôle de chose à apporter, mais parce qu'il ya tellement de façons de faire quelque chose dans WPF, il est presque paralysante. Quelle voie est la bonne façon de faire les choses? Est-ce cela? Est-ce que? J'ai eu à surmonter la peur de faire le mauvais chemin, simplement sauter dans et apprendre de mes erreurs.
WPF n'est pas WinForms. La plupart, si pas tous, de la commune de stratégies que vous utilisez pour accomplir des tâches dans les WinForms sont le mal (ou moins efficace) de manière à en WPF. Les commandes, les Propriétés de Dépendance, de Liaison, de Gabarits, etc, tout sera moins utile si vous adoptez un WinForms état d'esprit.
Actuellement, nous sommes dans le développement d'une grande application de visualisation. Comme assaisonné WinForms programmeurs, notre première coupe à l'affichage de données multidimensionnelles précalculées des milliers d'éléments visuels. Un curseur à travers les dimensions des éléments visuels à l'aide d'une fonction de rappel. Pas de données serait chargé, au-delà de la configuration initiale. Cela a eu de très mauvaises performances.
Commutation à des milliers de liaisons avec des convertisseurs de données, à seulement quelques centaines d'éléments visuels, avec le chargement de données et recalculés à la volée. Il en est résulté un ordre de grandeur de l'amélioration de la performance. Il était presque inconcevable que des milliers de liaisons serait plus rapide que des milliers de précalculées éléments visuels, mais tel est le cas dans WPF.
"De à WPF, WinForm: UN Guide de Référence Rapide" peut être utile.
Je dirais que le plus dur des points quand j'ai commencé à apprendre WPF ont été :
RelativeSource
, convertisseurs...DataTrigger
s, Trigger
s ou EventTrigger
s...Il y a beaucoup de petites choses qui peuvent sembler difficile au début, si vous avez de l'expérience avec les Windows Forms. Vous avez besoin de désapprendre beaucoup de choses, et de passer à un très différent du modèle mental de la structure d'INTERFACE utilisateur.
Au début, j'ai commencé à code comme je l'ai fait dans les Windows Forms, avec beaucoup de code-behind, mais qui n'était certainement pas la bonne manière. Le modèle MVVM m'a vraiment aidé à entrer dans le WPF "philosophie"...
Ma principale source de documentation pour l'apprentissage de WPF est bien sûr MSDN, où vous pouvez trouver la plupart des réponses si vous savez comment regarder. J'ai aussi appris beaucoup de choses sur les blogs suivants :
Les Propriétés de dépendance a pris du temps. Voici un bel article, et un autre qui m'a aidé avec ce nouveau concept.
Le deuxième article, qui contient le paragraphe suivant que vraiment clarifié quelques questions que j'avais.
Une valeur de la clé de la Dépendance Propriétés système a la capacité de construire des propriétés qui automatiquement informer tous les membres inscrits intéressé chaque fois que la valeur de la propriété les changements. Ce gratuit, indolore et mise en œuvre automatique de la modèle observateur est extrêmement puissant et réduit considérablement le fardeau sur le programmeur client (en de fait, le système de liaison de données dépend sur elle!).
Plus généralement, j'ai aussi trouvé qu'une expérience préalable en développement web (navigateur de l'INTERFACE utilisateur en particulier) pour être très utile dans la "prise" de WPF. Il est plus sur l'état d'esprit, il vous permet de vous apporter à WPF, en comparaison avec une personne qui a déjà travaillé avec les Windows Forms ou d'autres applications client riche.
Certains plus évident des parallèles avec le monde du web CSS, qui coule mises en page, jQuery animation, de remontée d'événements/de routage et juste être à l'aise avec la vaste navigateur et modèles d'objet DHTML.
MMVM est assez difficile à apprendre. Cependant, je pense que c'est l'une des meilleures choses à propos de WPF. Il faut beaucoup d'étude pour l'obtenir parce qu'ils sont beaucoup de scénarios où il est un peu difficile à mettre en œuvre.
Comme Thomas l'a souligné il y a beaucoup de matériel là-bas par la comme de Josh Smith et d'autres. Attention de bien que WPF est très facile de l'étudier, mais vous devez l'utiliser à-dire l'écriture d'une application pour voir les différents scénarios dans la pratique.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.