L'application est développée avec C # et WPF. J'ai une base de données sur une propriété statique d'une classe non statique. Lorsque l'application est démarrée, la liaison fonctionne bien, mais si je modifie le bool de la liaison, la vue n'est pas mise à jour. Comment puis-je mettre à jour la liaison de cette propriété statique? NotifyChanged-Evénements n'a pas affecté.
La classe: p> La vue: p>
4 Réponses :
Malheureusement, il n'y a pas d'équivalent direct au mécanisme de notification de Il y a quelques options, notamment: p>
inotifypropertychanged code> pour une propriété statique. p>
de biens de propriété code> d'événements normaux. Li>
ol>
Il y a staticpropertychanged code>
@wobbles a été ajouté après cette réponse
Vous pouvez soit implémenter les propriétés à l'aide d'un singleton sur laquelle la propriété n'est pas statique ou vous Il suffit également de le rendre non statique, mais vous créez simplement une instance dans l'instance code> par exemple (j'irais avec ce dernier). Dans les deux cas, vous pouvez mettre en œuvre
inotifypropertychanged code> à nouveau. P>
Le seul moyen de faire est si vous avez une référence à la Bindingexpression .
En supposant que vous avez une référence au pouce de votre code, il ressemblerait à: p> Votre meilleur choix être d'utiliser un modèle singleton, comme: p> puis lié comme: p> alors vous avez simplement besoin de Soulevez l'événement INOTICYPROPERTYCHANGED.PROPERTYCHANGED lorsque vous modifiez des CanResizEcolumns. P> P>
Je pense que c'est une solution plus facile:
Propriété de la classe: p> xaml: p>
Je ne comprends pas pourquoi cette classe est statique. Vous pouvez utiliser l'héritage ou la composition pour y combiner avec une classe de base de votre viewModel. Si vous faites cela, vous aurez que les CanresizecoLumns comme une propriété sur votre viewModel et utilisez avec succès surpropertychangned («Nom de propriété»)?