2010-08-30 14 views
6

En la Universidad enseñamos .NET (tanto VB como C#) usando Windows Forms. Queremos presentar el concepto de Windows Presentation Foundation (WPF) a nuestro curso avanzado. ¿Qué fundamentos de WPF necesitan los estudiantes para aprender a fin de obtener los conocimientos básicos de WPF?Fundamentos de WPF?

La idea es que los estudiantes usen WPF en al menos una de seis tareas, y aprender todos estos WPF Fundamentals parece un poco desalentador. ¿Qué conceptos básicos de tres y cuatro se consideran obligatorios?

¡Gracias por su tiempo!

+6

wiki de la comunidad? – bitbonk

+0

Creo que puede encontrar que todos tienen un conjunto diferente de lo que considerarían cosas obligatorias que necesita aprender. – ChrisF

Respuesta

8

Aquí está la lista. Me preparé para mi programador junior.

1) Fundamentos XAML & controles básicos tales como TextBox, botones, etc.,
2) VisualTree y LogicalTree
3) Bubbling y Tunneling

4) DependencyProperty
5) AttachedProperty

6) DataTemplate
7) ControlTemplate

8) Estilo

9) DataBinding

Triggers:
10) Eventtriggers
11) DataTriggers

MVVM Basics & Comandos:
12) DelegateCommand
13) RelayCommand
14) ApplicationCommands
15) RoutedEvent
16) RoutedCommand

Transformaciones:
17) RenderTransform
18) LayoutTransform

Recursos:
19) BinaryResource
20) LogicalResource
21) StaticResource
22) DynamicResource
23) RelativeResource

panles y controles básicos:
24) Presentaciones y paneles
25) control de usuario
26) ContentControl
27) Algunos controles como cuadrícula, TreeView y gráficos

Interfaces y Colecciones:
28) IValueConverter
29) INotifyPropertyChanged
30) ObservableCollection
31) CollectionViewSource

HTH

+0

Guau, esa es una lista extensa de cosas para aprender. Aprecio tu esfuerzo, Avatar. Gracias! –

2

Dependency Properties, Routed Events y layout model son absolutamente necesarios en mi opinión. Data Binding & MVVM vienen después.

No soy un gurú de WPF, pero creo que técnicamente, WPF es mucho más complejo, que Windows Forms, y si los estudiantes son comunes con posterioridad, será difícil codificar usando un "WPF-way" (especialmente, si no hay fondo html/xml). Dudo que sea posible escribir código robusto usando WPF sin conocer algunos aspectos importantes de él. WPF es realmente una mala elección para UI rápidas o simples. Necesita una cantidad considerable de tiempo de aprendizaje para bucear.

+0

¡Ese es un buen punto! Mi profesor quiere que "agregue algunos toros" en WPF, pero lo que realmente dice que no es el camino a seguir. Esta es una entrada valiosa también yo - ¡Gracias! –

2

Todos se llaman fundamentos por una razón. Debería tener al menos una comprensión básica de todos ellos si planea construir cualquier tipo de aplicación WPF exitosa.

Si tuviera que individualizar algunas cosas para que su clase por lo menos pudiera empezar con la construcción de algo, probablemente diría:

XAML y enlace de datos son ambos mostos. Las propiedades de dependencia son un segundo cercano. Entradas/Comandos/Eventos enrutados también se incluirán todos.

+0

Fue mi primer pensamiento. Probablemente, uno puede comenzar con algunos temas fundamentales, construir sceletons con XAML y, en la siguiente tarea, continuar con Enlace de datos y Propiedades de dependencia. ¡Gracias por tu aporte! –

6

Realmente no creo que tres o cuatro temas sean suficientes. Pero hablar acerca de las prioridades más altas, diría

  1. XAML y de marcado extensiones,
  2. Diseño y paneles,
  3. eventos enrutados,
  4. dependencia-adjuntos y propiedades.
+0

Gracias. Tal vez uno debería dividir el curso en dos mitades en su lugar. WPF 50% y Windows Forms 50%? ¡Aprecia tu opinión! –

1

Encontré el libro de Charles Petzhold "Applications = Code + Markup" extremadamente útil cuando comencé con WPF. La primera mitad del libro es completamente código C#, enseñando los conceptos básicos de WPF (propiedades de dependencia, eventos, etc.) sin ningún tipo de XAML. La segunda mitad del libro presenta el concepto de XAML y cómo se relaciona con todo lo que aprendió en la primera mitad del libro. Si estuviera enseñando una clase en WPF, definitivamente plantearía las cosas de una manera similar: primero enseñe los conceptos en código y luego presente XAML.

+0

Es cierto eso.Los estudiantes están familiarizados con los conceptos de programación C# (y VB). Tal vez uno puede trabajar más rápido a través de estos conceptos y prestar más atención a XAML cuando se hace la primera parte del libro. ¡Gracias por tu aporte! –

1

Aunque esto es bastante subjetiva, creo que una buena cuatro serían (a partir de ese enlace):

  • elemento de árbol y la serialización: Esto es completamente nuevo de Windows Forms a WPF y conseguir una comprensión de cómo el trabajo del árbol Visual y Lógico es bastante importante para entender cómo se hacen las cosas en WPF.
  • Eventos (WPF) - Una vez más, esto varía sustancialmente de WinForms y trae todos los beneficios del modelado de eventos de WPF.
  • Estilos y plantillas - Esto es lo que trae a la vida de WPF. Todas las vinculaciones a la interfaz de usuario y lo que no pertenece también a esta categoría.
  • disposición del sistema - Bueno, es WPF no es así? El diseño es una parte integral del proceso.

Aparte de esto, Dependency Properties son importantes y al menos comprenden cómo funciona XAML. Hay no real "única opción" cuando se trata de WPF. Es una nueva forma de hacer las cosas si has trabajado con modelos como WinForms. Intentaría aprender tanto como sea posible.

+0

La referencia y la diferencia de WinForms es más o menos lo que busco. Los estudiantes tienen un buen conocimiento de WinForms del curso anterior (curso básico .NET), así que creo que su idea es excelente. Gracias! –

3

Si se piensa en la forma de estructurar didácticamente su curso, se debe considerar Petzold's book. La forma en que estructura sus capítulos funciona perfectamente para cursos en vivo. Está muy bien ajustado didácticamente y tuvimos una buena experiencia estructurando un curso alrededor de este libro. También creamos la experiencia de que funciona especialmente bien para personas con antecedentes de Windows Forms. Comienza con solo el código (C#) y solo más tarde introduce XAML. Esto ayuda mucho a comprender los conceptos del marco.

+0

¡Gracias por la sugerencia del libro! Desde el ToC se ve como el que necesito leer antes de cambiar las tareas y conferencias al curso de primavera. Gracias! –

+0

+1 para Petzold :) –

Cuestiones relacionadas