2010-10-12 8 views
9

Digamos que tengo una clase definida algo como el siguiente:Constantes en XAML

namespace MyProject.MyConstants 
{ 
    public class Constants 
    { 
     public class Group1Constants 
     { 
      public const string DoIt= "DoIt"; 
     } 
    } 
} 

Estoy tratando de utilizar este const, a partir de un proyecto aparte, en mi XAML. He incluido el espacio de nombres:

xmlns:constants="clr-namespace:MyProject.MyConstants;assembly=MyProject.MyConstants" 

y estoy tratando de utilizar la constante de la siguiente manera:

<MenuItem Header="{x:Static controls:Constants.Group1Constants.DoIt}"> 

Lo anterior suele compilar sin embargo, diciendo que

Cannot find the type 'Constants.Group1Constants'. Note that type names are case sensitive. 

Debo estar perdiendo algo sencillo . Todo lo que quiero hacer es usar algunas constantes de una clase en un proyecto diferente en mi xaml.

¿Alguna sugerencia?

Respuesta

25

Intente éste:

<MenuItem Header="{x:Static constants:Constants+Group1Constants.DoIt}"> 

que utiliza "+" en lugar de "" para hacer referencia a la clase anidada. Sin embargo, no estoy seguro de si tendrá problemas para hacer esto.

+2

¡Impresionante, eso lo solucionó! Nunca he visto la sintaxis "+" antes. – Flack

+12

wtf es la sintaxis "+"? – wil

+0

Gracias, WPF me sorprende con sus sintaxis – Viju