Ni WPF ni Xaml n'ont vraiment de concept d'insertion, de mise à jour et de suppression. La liaison de données concerne tous les objets (ou XML occasionnel). Une fois que les modifications dans l'interface utilisateur (par exemple, l'utilisateur saisissant une valeur dans un TextBox) ont été poussées dans les objets liés, le travail de liaison de données est terminé. C'est à vous de décider ce que vous allez faire avec les données.
Ce n'est pas un obstacle à l'objectif «pas de code derrière». L'approche habituelle consiste à ajouter une couche entre votre vue (Xaml) et vos objets de données, et à lier l'interface utilisateur à cette couche plutôt que le modèle de domaine sous-jacent. (Ce calque est souvent appelé ViewModel, mais vous le verrez également par d'autres noms tels que Presenter.) Ce modèle global est appelé "présentation séparée".)
La façon dont vous activez les actions sans nécessiter de code behind est à travers l'utilisation de commandes. Votre couche intermédiaire n'expose pas uniquement les propriétés orientées données. Il peut exposer les propriétés qui contiennent des commandes et vous pouvez lier ces commandes à des boutons, des liens hypertexte ou des éléments de menu. Cela ne nécessite aucune codebehind - tout est juste des expressions de liaison dans le Xaml. Mais lorsque vous cliquez sur le bouton, le code du gestionnaire approprié dans votre viewmodel s'exécute. (ICommand
est une interface très simple à mettre en œuvre -. Un bouton suffit d'appeler la méthode Execute lorsque vous cliquez dessus et vous ne fournissez normalement votre propre mise en œuvre - le haut-RoutedCommand
et RoutedUICommand
ne conviennent pas à ce scénario.)
Et puis vous pouvez insérer/mettre à jour/supprimer/tout ce que vous voulez.