Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
A partir de la versión 8.0, el kit de herramientas de MVVM incluye nuevos generadores de origen de Roslyn que ayudarán a reducir considerablemente la repetición de tareas al escribir código mediante la arquitectura de MVVM. Pueden simplificar escenarios en los que necesita configurar propiedades observables, comandos y mucho más. Si no está familiarizado con los generadores de origen, puede leer más sobre ellos aquí. Esto es una vista simplificada de cómo funcionan:

Esto significa que, a medida que escribe código, el generador del kit de herramientas de MVVM ahora se encargará de generar código adicional para usted en segundo plano, por lo que no tiene que preocuparse por ello. Este código se compilará e incluirá en la aplicación, por lo que el resultado final es exactamente el mismo que si hubiera escrito manualmente todo ese código adicional, pero sin tener que hacer todo ese trabajo adicional. 🎉
Por ejemplo, sería genial si en lugar de tener que configurar una propiedad observable de forma normal:
private string? name;
public string? Name
{
get => name;
set => SetProperty(ref name, value);
}
¿Pudiera tener un simple campo anotado para expresar lo mismo?
[ObservableProperty]
private string? name;
Qué pasa con la creación de un comando:
private void SayHello()
{
Console.WriteLine("Hello");
}
private ICommand? sayHelloCommand;
public ICommand SayHelloCommand => sayHelloCommand ??= new RelayCommand(SayHello);
¿Qué pensaría si simplemente pudiéramos tener nuestro método, y nada más?
[RelayCommand]
private void SayHello()
{
Console.WriteLine("Hello");
}
¡Con los nuevos generadores de origen de MVVM, todo esto es posible y mucho más! 🙌
Nota:
Los generadores de origen se pueden usar independientemente de otras características existentes en el kit de herramientas de MVVM, y puede mezclar y combinar generadores de origen con las API anteriores según sea necesario. Es decir, puede empezar a usar gradualmente generadores de código fuente en archivos nuevos y, con el tiempo, migrar archivos más antiguos para usarlos para reducir el nivel de detalle, pero no hay ninguna obligación de usar siempre un enfoque en todo un proyecto o aplicación.
Estos documentos repasarán exactamente qué características se incluyen con los generadores de MVVM y cómo usarlos:
- CommunityToolkit.Mvvm.ComponentModel
- CommunityToolkit.Mvvm.Input
Ejemplos
- Consulte la aplicación de ejemplo (para varios marcos de interfaz de usuario) para ver el kit de herramientas de MVVM en acción.
- También puede encontrar más ejemplos en las pruebas unitarias.