Je rencontre des problèmes avec une liaison WPF à une propriété statique. Dans mon application, il existe une classe appelée Globals qui contient une propriété statique à ThisAddIn. Cet objet me permet d'accéder à une propriété utilisateur qui est fondamentalement ce que je veux utiliser dans ma liaison. Donc, mon XAML ressemble à ceci:
<TextBlock Text="{Binding Path=User.Name
, Source={x:Static Member=s:Globals.ThisAddIn}}" />
L'espace de noms s est déclaré en haut par la ligne suivante:
xmlns:s="clr-namespace:ConsoleApplication16.Model"
J'ai trouvé une tonne d'approches différentes sur la façon de se référer à la propriété statique dans XAML, mais aucune d'entre elles n'a fonctionné, sauf celle-ci, qui semble également la plus logique pour moi. Certains échantillons que j'ai trouvés n'utilisaient pas du tout Path ou Member.
Après quelques tests, j'ai trouvé la bonne façon de le faire, en utilisant "x: membre statique" pour définir la classe et la propriété statique que vous souhaitez utiliser, tandis que Path définit les propriétés correctes à l'intérieur de cet objet, tout comme une liaison normale le ferait .
Bien que cette solution se compile sans aucune plainte, une XAMLParseException apparaît directement m'indiquant que la la valeur StaticExtension ne peut pas être résolue en une énumération, un champ statique ou une propriété statique.