2010-10-12 14 views
9

Powiedzmy Mam klasy zdefiniowane coś jak poniżej:Stałe w XAML

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

staram się korzystać z tego const, z odrębnym projektem, w moim XAML. I obejmował nazw:

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

i staram się używać stała się następująco:

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

Powyższy przyzwyczajenie skompilować chociaż, mówiąc, że

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

muszę być brakuje czegoś proste . Wszystko, co chcę zrobić, to użyć pewnych stałych z klasy w innym projekcie w moim xaml.

Wszelkie sugestie?

Odpowiedz

25

Spróbuj tego:

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

użyłem "+" zamiast "" aby odwołać się do zagnieżdżonej klasy. Nie jestem pewien, czy napotkasz na problemy.

+2

Awesome, that fixed it! Nigdy wcześniej nie widziałem składni "+". – Flack

+12

wtf jest składnią "+"? – wil

+0

Dziękuję, WPF zadziwia mnie swoimi składniami – Viju