wpf xaml data-binding static xamlparseexception

wpf - El valor StaticExtension no se puede resolver



xaml data-binding (2)

Estoy enfrentando algunos problemas con un enlace de WPF a una propiedad estática. En mi aplicación hay una clase llamada Globals que contiene una propiedad estática para ThisAddIn . Este objeto me permite acceder a una propiedad de usuario que básicamente es lo que quiero usar en mi enlace. Por lo tanto, mi XAML se ve así:

<TextBlock Text="{Binding Path=User.Name , Source={x:Static Member=s:Globals.ThisAddIn}}" />

El espacio de nombres s se declara en la parte superior por la siguiente línea:

xmlns:s="clr-namespace:ConsoleApplication16.Model"

Encontré una gran cantidad de enfoques diferentes acerca de cómo referirme a la Propiedad estática en XAML, pero ninguno de ellos funcionó excepto este, que también parece ser el más lógico para mí. Algunas muestras que encontré, no usaron Path o Member en absoluto.

Después de algunas pruebas, encontré la forma correcta de hacerlo, estoy usando "x: Static Member" para definir la clase y la propiedad estática que quiero usar, mientras que Path define las propiedades correctas dentro de este objeto, al igual que lo haría un enlace normal. .

Aunque esta solución se compila sin ninguna queja, aparece una XAMLParseException que me dice directamente que el valor de StaticExtension no se puede resolver en una enumeración, campo estático o propiedad estática.


Asegurar Globals.ThisAddIn es público. También puede obtener esto si está utilizando un archivo de recursos, en cuyo caso también debe asegurarse de que el modificador de acceso esté configurado como público.


En el proyecto de biblioteca de salida, debe asegurarse de que el generador del archivo Resources.resx se haya modificado como PublicResXFileCodeGenerator en lugar de ResXFileGodeGenerator de manera predeterminada.

Reemplazar siguiente con ...

Éste