Я столкнулся с некоторыми проблемами с привязкой WPF к статическому свойству. В моем приложении есть класс под названием Globals, который содержит статическое свойство ThisAddIn. Этот объект позволяет мне получить доступ к свойству User, которое в основном является тем, что я хочу использовать в моем Binding. Итак, мой XAML выглядит так:
<TextBlock Text="{Binding Path=User.Name
, Source={x:Static Member=s:Globals.ThisAddIn}}" />
Пространство имен s объявлено вверху следующей строкой:
xmlns:s="clr-namespace:ConsoleApplication16.Model"
Я нашел массу различных подходов к тому, как ссылаться на статическое свойство в XAML, но ни один из них не работал, кроме этого, что также кажется наиболее логичным для меня. Некоторые образцы, которые я нашел, не использовали Path или Member.
После некоторого тестирования я нашел правильный способ сделать это, используя "x: Static Member", чтобы определить класс и статическое свойство, которое вы хотите использовать, тогда как Path определяет правильные свойства внутри этого объекта, как обычный привязка.
Хотя это решение компилируется без каких-либо жалоб, появляется XAMLParseException, прямо сообщающее мне, что значение StaticExtension не может быть разрешено для перечисления, статического поля или статического свойства.