2009-08-05 6 views
1

XAML est-il dans l'équivalent WPF de .Designer.cs dans les applications Windows Forms?XAML est-il dans l'équivalent WPF de .Designer.cs dans les applications Windows Forms?

Est-ce que cela fournit simplement l'état de compilation pour l'interface utilisateur?

Je ne suis pas sûr mais il semble que vous pouvez faire des choses par programmation avec XAML à l'exécution.

Si j'ai un état d'interface utilisateur de base où tout est ajouté au moment de l'exécution, devrais-je regarder en dehors du contenu XAML?

Répondre

5

Il est probablement prudent de regarder XAML de cette façon - même si ce n'est pas tout à fait exact. Le code XAML est compilé en BAML et analysé à l'exécution, où le fichier Windows Forms designer.cs est juste un autre fichier C# créé par le concepteur. XAML n'est jamais directement traduit en C#.

Cependant, vous pouvez tout faire en code XAML. Le WPF book de Charles Petzold adopte réellement cette approche. Il construit des applications WPF entières dans le code avant même d'avoir introduit XAML.

+0

Merci Reed. Alors y a-t-il une raison pour construire des choses en utilisant XAML directement? Je pensais que si vous avez besoin de définir l'interface utilisateur initiale, vous devez utiliser XAML pour cela. Aussi, vous pensez que le livre de Petzold est le meilleur livre wpf? –

+1

En fait, je ne me soucie pas vraiment du livre de Petzold. Il fait tout d'abord du code, ce que je comprends, mais pense qu'il est difficile d'apprendre. Je préfère ce livre: http://www.apress.com/book/view/1590599551 - XAML a beaucoup d'avantages sur le code - il aide à garder une bonne séparation des préoccupations (surtout si vous utilisez MVVM), maintient le UI clean, etc. Vous pouvez faire des choses assez étonnantes avec la liaison de données WPF - même faire des choses en XAML avec presque aucun code qui semble complètement dynamique. Il est plus facile de garder la conception de l'interface utilisateur et la conception du code séparées, flexibles, concises et propres à l'aide de XAML. –

+0

Merci Reed, j'apprécie votre perspicacité. –

0

En plus de l'entrée de Reed, je dois mentionner que:

  • XAML utilise la syntaxe XML pour définir l'interface utilisateur, mais le formulaire ne fonctionne pas.
  • En XAML, il est beaucoup plus facile de séparer l'interface utilisateur de la logique en utilisant le code-behind-design. Comme l'interface utilisateur est uniquement XML, ils peuvent être conçus de manière totalement indépendante de tout changement de code.
  • Des changements mineurs comme Button où vous pouvez définir le contenu au lieu de texte, de sorte que vous pouvez définir quoi que ce soit alors qu'il pourrait s'agir de texte seulement.
  • Les propriétés de liaison de données et de dépendance sont beaucoup plus faciles et meilleures dans WPF comapring à Windows.Form
  • Manière très facile et fraîche de manipuler votre conception, car vous pouvez trouver il y a beaucoup d'exemples frais sur le filet.
  • Vous pouvez utiliser des outils tels que Snoop pour visualiser votre conception 3D, et pouvez inspecter et vérifier tous vos contrôles et événements en sélectionnant l'interface utilisateur. Vous pouvez voir quels événements sont traités ou non. C'est un outil très cool, et vous pouvez en trouver des similaires.