Esta base de código se mantiene activamente pero no se desarrolla activamente. Las solicitudes de extracción con nuevas funciones tendrán una posibilidad muy escasa de fusionarse. En muchos aspectos, esta base de código está "realizada".
No dude en usar el código, pero abstenerse de tener la esperanza de que tenga alguna aspiración de ser algo más de lo que es actualmente.
Los diálogos de MVVM es una biblioteca que simplifica el concepto de apertura de diálogo desde un modelo de vista cuando se usa MVVM en WPF (Marco de presentación de Windows). Permite al desarrollador escribir fácilmente las pruebas unitarias para los modelos de vista de la misma manera que las pruebas unitarias se escriben para otras clases.
La biblioteca tiene soporte incorporado para los siguientes diálogos:
Para abrir una ventana modal, decorara la vista con la propiedad adjunta DialogServiceViews.IsRegistered :
< UserControl
x : Class = " DemoApplication.Features.Dialog.Modal.Views.ModalDialogTabContent "
xmlns = " http://schemas.microsoft.com/winfx/2006/xaml/presentation "
xmlns : x = " http://schemas.microsoft.com/winfx/2006/xaml "
xmlns : md = " https://github.com/fantasticfiasco/mvvm-dialogs "
md:DialogServiceViews.IsRegistered= " True " >
...
</ UserControl > Con la vista registrada, el modelo de vista ahora es capaz de abrir un cuadro de diálogo utilizando la interfaz IDialogService :
public class ModalDialogTabContentViewModel : INotifyPropertyChanged
{
private readonly IDialogService dialogService ;
public ModalDialogTabContentViewModel ( IDialogService dialogService )
{
this . dialogService = dialogService ;
}
.. .
private void ShowDialog ( )
{
var dialogViewModel = new AddTextDialogViewModel ( ) ;
bool ? success = dialogService . ShowDialog ( this , dialogViewModel ) ;
if ( success == true )
{
Texts . Add ( dialogViewModel . Text ) ;
}
}
} Los diálogos en WPF que no heredan desde Window se llaman diálogos personalizados. Estos diálogos personalizados son compatibles, pero para que DialogService sepa cómo interactuar con ellos, tendrá que implementar la interfaz IWindow .
Los cuadros de diálogo MVVM están de forma predeterminada abriendo el cuadro de mensaje estándar de Windows o el cuadro de diálogo Abrir archivo cuando se le pide. Sin embargo, esto se puede cambiar proporcionando su propia implementación de IFrameworkDialogFactory a DialogService .
Para obtener más información sobre los conceptos de diálogo MVVM y muestras extendidas sobre los temas, consulte el wiki.
En beneficio de todo, nuestro objetivo es jugar bien con los marcos MVVM existentes. Crear una nueva aplicación puede ser desalentador. Hay que tomar muchas decisiones, y algunos errores son más difíciles de corregir que otros. Para ayudarlo en su camino, hemos creado una aplicación de muestra utilizando algunos de los marcos MVVM populares existentes hoy, para mostrarle cómo integraría los diálogos MVVM en ese marco.
Actualmente, la aplicación de muestra se implementa utilizando los siguientes marcos.
Si su marco específico no está entre los listados, cree una nueva solicitud de extracción y háganoslo saber.
El mundo está lleno de copos de nieve y todas las aplicaciones son únicas de alguna manera. Los diálogos de MVVM no reclaman resolver todos los problemas con respecto a los diálogos, pero es una solución fantástica para la mayoría de las aplicaciones. El resto, las aplicaciones que se desvían de la ruta común, pueden requerir cambios específicos en el comportamiento del diálogo MVVM. Para aquellos hay diálogos MVVM Contrib. Un repositorio con características y funcionalidad desarrollada por la comunidad de código abierto, resolviendo necesidades muy específicas.
Si los diálogos de MVVM por alguna razón no se ajustan a su aplicación, plantee un problema en los diálogos de MVVM contribuyentes y veremos qué podemos hacer. Estas características siempre son implementadas por la comunidad, pero pasas por los mantenedores de los diálogos de MVVM.
Si desea incluir diálogos MVVM en su proyecto, puede instalarlo directamente desde Nuget.
Para instalar los diálogos MVVM, ejecute el siguiente comando en la consola del administrador de paquetes:
PM > Install-Package MvvmDialogsLos diálogos de MVVM comenzaron como un artículo sobre CodeProject con su primera revisión publicada en mayo de 2009. En ese momento, MVVM seguía siendo nuevo y fresco, y la Luz MVVM ahora desactivada aún no se había publicado. De hecho, ninguna de las bibliotecas MVVM comúnmente utilizadas hoy existía en ese entonces. Los diálogos de MVVM surgieron por necesidad de trabajar con diálogos desde el modelo de vista, una reacción al hecho de que aunque MVVM era un patrón popular, el soporte para implementarlo era bastante limitado.
Entonces, la publicación inicial fue hace más de 10 años. Da un pensamiento. Un proyecto de código abierto que después de 10 años aún se mantiene y es extremadamente relevante con las versiones de .NET. ¡Toma eso todo lo que afirma que el código de código abierto es volátil!
Los diálogos de MVVM han ganado suficiente reputación para figurar en Awesome .NET!, En compañía de otras bibliotecas MVVM impresionantes.
Gracias JetBrains por su importante iniciativa para apoyar a la comunidad de código abierto con licencias gratuitas para sus productos.
