Articles of wpf mvvm

Activer / désactiver la zone de texte en fonction de la sélection des cases à cocher dans WPF à l’aide de MVVM

J’ai un formulaire WPF avec jusqu’à 40 zones de texte, avec une case à cocher pour chacun. Chaque zone de texte doit être activée / désactivée en fonction de la valeur de la case à cocher correspondante. J’ai vu des solutions où nous pouvons utiliser ICommand pour y parvenir, mais comment gérer 40 cas individuels […]

Comment lier le bouton WPF à une commande dans ViewModelBase?

J’ai une vue AtsortingbuteView qui contient toutes sortes d’atsortingbuts. Il y a aussi un bouton sur lequel il faut appuyer pour définir les valeurs par défaut des atsortingbuts. J’ai aussi une classe ViewModelBase qui est une classe de base pour tous les ViewModels que je possède. Le problème est que je n’arrive pas à obtenir […]

Est-ce que MVVM enfreint DRY?

Il semble que ViewModels que je fabrique ressemble étrangement à d’autres classes et qu’elles requièrent beaucoup de répétition de code, par exemple dans un projet en cours: SmartForm : le modèle qui représente un formulaire de données à remplir a des propriétés: Code d’identification Titre La description collection de SmartFormFields etc. SmartFormControlView Voir SmartFormControlViewModel ViewModel […]

WPF MVVM ComboBox SelectedItem ou SelectedValue ne fonctionne pas

Mettre à jour Après un peu d’investigation. Ce qui semble être le problème, c’est que SelectedValue / SelectedItem se produit avant le chargement de la source Item. Si je suis assis dans un point d’arrêt et que j’attends quelques secondes, cela fonctionne comme prévu. Je ne sais pas comment je vais contourner celui-ci. Mettre fin […]

Comment avez-vous implémenté avec succès la fonctionnalité MessageBox.Show () dans MVVM?

J’ai une application WPF qui appelle MessageBox.Show () dans le ViewModel (pour vérifier si l’utilisateur veut vraiment supprimer). Cela fonctionne réellement , mais va à l’encontre de MVVM, car ViewModel ne doit pas déterminer explicitement ce qui se passe sur la vue. Alors maintenant, je pense à la meilleure façon d’implémenter la fonctionnalité MessageBox.Show () […]

L’implémentation de RelayCommand par Josh Smith est-elle erronée?

Considérez l’article de référence de Josh Smith sur les applications WPF avec le modèle de conception Model-View-ViewModel , en particulier l’exemple d’implémentation d’un RelayCommand (Figure 3). (Pas besoin de lire tout l’article pour cette question.) En général, je pense que l’implémentation est excellente, mais j’ai une question sur la délégation des abonnements CanExecuteChanged à l’ […]

MVVM et collections de machines virtuelles

Un senario commun: Un modèle avec une collection de modèles d’articles. Par exemple, une maison avec une collection de personnes. Comment structurer cela correctement pour MVVM – en particulier en ce qui concerne la mise à jour des collections Model et ViewModel avec des ajouts et des suppressions? Model House contient une collection de modèles […]

Comment ajuster automatiquement la taille de la police pour un groupe de contrôles?

J’ai quelques TextBlocks dans WPF dans une Grille que je voudrais mettre à l’échelle en fonction de leur largeur / hauteur disponible. Lorsque je cherchais une mise à l’échelle automatique de la taille de la police, la suggestion typique consiste à placer le TextBlock dans une ViewBox. Donc j’ai fait ça: Et il redimensionne automatiquement […]

WPF-MVVM: Définition du focus du contrôle de l’interface utilisateur à partir de ViewModel

Quelle est une bonne pratique pour définir le focus du contrôle dans l’architecture MVVM? La façon dont je l’envisage est d’utiliser une propriété ViewModel qui déclencherait un changement de focus si nécessaire. Et que les contrôles d’interface utilisateur lient / écoutent cette propriété afin que, si elle change, le focus approprié soit défini. Je le […]

WPF chargement spinner

L’objective est d’afficher les informations sur lesquelles l’application fonctionne. Je recherche donc un exemple d’implémentation intelligent d’un spinner de chargement utilisant WPF / MVVM.