Passer au contenu principal
Version : 11.0.0

ReactiveUI

indice

ReactiveUI est utilisé dans nos exemples, mais ce n'est pas obligatoire. Avalonia prend en charge tout framework MVVM ou vos propres solutions personnalisées.

Ces pages expliquent comment Avalonia UI utilise une version du framework open-source ReactiveUI pour faciliter la mise en œuvre du modèle MVVM dans votre application.

ReactiveUI est un framework avancé, composable et fonctionnel de modèle-vue-vue-modèle (MVVM) réactif pour toutes les plateformes .NET. Il a été inspiré par le paradigme de la programmation réactive fonctionnelle.

POUR VOTRE INFORMATION

Pour un contexte technique complet sur la programmation réactive fonctionnelle, consultez l'article de Wikipédia ici.

Avalonia UI est livré avec son propre fork de ReactiveUI dans le package NuGet Avalonia.ReactiveUI.

Pour utiliser ReactiveUI et le modèle MVVM dans votre application Avalonia UI, ajoutez le package à votre projet en utilisant le gestionnaire de packages NuGet (comme ci-dessus), ou exécutez la commande CLI suivante :

dotnet add package Avalonia.ReactiveUI
POUR VOTRE INFORMATION

Pour des informations détaillées sur ReactiveUI lui-même, consultez le site web https://reactiveui.net/

POUR VOTRE INFORMATION

Pour en savoir plus sur le modèle MVVM, consultez l'article Microsoft ici.

Le package comprend des helpers spécifiquement pour Avalonia UI pour gérer les tâches ReactiveUI de routage basé sur le modèle de vue, d'activation de vue et de planification. (voir la référence ci-dessus pour des détails complets sur ces tâches).

POUR VOTRE INFORMATION

Si vous démarrez votre application à partir du modèle de solution d'application Avalonia MVVM ; vous aurez déjà le package ReactiveUI installé et configuré.

Configurer pour utiliser ReactiveUI

Après avoir installé le package NuGet, vous devez configurer la classe Program de l'application pour l'utiliser. Vérifiez que vous appelez la méthode UseReactiveUI() dans le code AppBuilder.

Par exemple, si vous utilisez le modèle de solution d'application Avalonia MVVM, il ajoutera automatiquement le package NuGet, puis ajoutera le code :

classe interne Program
{
// Code d'initialisation. N'utilisez aucune API Avalonia, de tiers ou tout
// code dépendant de SynchronizationContext avant que AppMain ne soit appelé : les choses ne sont pas initialisées
// encore et certaines choses pourraient ne pas fonctionner.
[STAThread]
public static void Main(string[] args) => BuildAvaloniaApp()
.StartWithClassicDesktopLifetime(args);

// Configuration d'Avalonia, ne pas supprimer ; également utilisé par le concepteur visuel.
public static AppBuilder BuildAvaloniaApp()
=> AppBuilder.Configure<App>()
.UsePlatformDetect()
.LogToTrace()
.UseReactiveUI();
}

Dans les pages suivantes, vous apprendrez comment ReactiveUI fonctionne avec Avalonia UI pour vous permettre de mettre en œuvre les scénarios d'application suivants :

  • Liaison de données à un modèle de vue réactif
  • Activation de la vue
  • Routage
  • Persistance des données
  • Liaison aux données triées/filtrées