Compartir tecnología

Aprenda a programar en C#: aprendizaje del marco común (1): aprenda y comprenda la aplicación de WPF

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Aprender WPF (Windows Presentation Foundation) combinado con el patrón MVVM (Model-View-ViewModel) puede ser un poco desafiante para los principiantes, pero esta es una combinación muy poderosa que puede ayudarlo a crear una aplicación mantenible, escalable y fácil de probar. La siguiente es una forma simplificada y fácil de entender de presentar cómo aprender el patrón WPF MVVM.

1. Comprender conceptos básicos

WPF : WPF es un marco de Microsoft para desarrollar aplicaciones cliente de Windows. Proporciona elementos y estilos de interfaz de usuario enriquecidos, así como un potente enlace de datos y soporte de animación.

MVVM: MVVM es un patrón arquitectónico que divide una aplicación en tres partes principales:

  • Modelo: Representa datos y lógica empresarial.
  • Vista: Interfaz de usuario para mostrar datos.
  • Modelo de vista: Actúa como un puente entre el Modelo y la Vista, responsable de manejar la separación de la lógica de la interfaz de usuario y la lógica empresarial.

 

2. ¿Por qué elegir MVVM?

  • desacoplamiento: Model, View y ViewModel están altamente desacoplados, lo que hace que el código sea más fácil de mantener y probar.
  • reutilización: ViewModel se puede reutilizar independientemente de View.
  • Fácil de probar: Dado que ViewModel no contiene ningún código relacionado con la interfaz de usuario, se puede probar independientemente de la interfaz de usuario.

3. Pasos de aprendizaje

3.1 Construir el entorno básico
  • Instale Visual Studio y seleccione una plantilla de proyecto que admita WPF.
  • Cree un nuevo proyecto WPF.
3.2 Comprender e implementar el modelo
  • Cree una clase de modelo simple, comoPersonclase, que contiene atributos comoNameyAge
    1. public class Person
    2. {
    3. public string Name { get; set; }
    4. public int Age { get; set; }
    5. }

  • 3.3 Crear modelo de vista
  • ViewModel generalmente contiene una referencia al modelo, así como propiedades y comandos para operaciones de la interfaz de usuario.
  • usarINotifyPropertyChangedInterfaz para notificar cambios en las propiedades de la UI.
    1. using System.ComponentModel;
    2. public class PersonViewModel : INotifyPropertyChanged
    3. {
    4. private Person _person;
    5. public event PropertyChangedEventHandler PropertyChanged;
    6. public string Name
    7. {
    8. get { return _person.Name; }
    9. set
    10. {
    11. _person.Name = value;
    12. OnPropertyChanged(nameof(Name));
    13. }
    14. }
    15. // 实现INotifyPropertyChanged接口
    16. protected virtual void OnPropertyChanged(string propertyName)
    17. {
    18. PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
    19. }
    20. // 构造函数等
    21. }

3.4 Vincular vista a modelo de vista

  • Usar en XAMLDataContext Asociar vista con ViewModel. Utilice el enlace de datos para mostrar datos de ViewModel.
    1. <Window x:Class="YourNamespace.MainWindow"
    2. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    4. Title="MainWindow" Height="350" Width="525">
    5. <Grid>
    6. <TextBox Text="{Binding Name, UpdateSourceTrigger=PropertyChanged}" />
    7. </Grid>
    8. </Window>

    Establecido en código subyacenteDataContext

    1. public MainWindow()
    2. {
    3. InitializeComponent();
    4. this.DataContext = new PersonViewModel();
    5. }
3.5 Aprendizaje y práctica
  • Intente implementar una lógica de ViewModel más compleja, como validación de datos, procesamiento de comandos, etc.
  • Aprenda a utilizar marcos MVVM (como Prism, Caliburn.Micro, etc.) para simplificar el proceso de desarrollo.
  • Vea tutoriales, lea documentación y ejemplos de código para profundizar su comprensión.

4. Resumen

Aprender el patrón WPF MVVM requiere tiempo y práctica. Puede parecer complicado al principio, pero a medida que adquiera una comprensión más profunda de estos conceptos, podrá crear aplicaciones WPF de alta calidad de manera más eficiente. Recuerda ponerte manos a la obra y consolidar tus conocimientos a través de proyectos reales.