Wie globale Enum als Tag-Wert in XAML zuweisen?

8

Ich habe mehrere Fragen zu diesem Thema gelesen, aber die Antworten funktionieren nicht für mich. Ich habe die folgende Enum, die in StlContainer.cs deklariert ist:

%Vor%

Die Enumeration wird außerhalb der StlContainer-Klassendefinition deklariert, wodurch sie zu einer globalen Enumeration wird. Ich möchte seine Werte der Tag-Eigenschaft verschiedener XAML-Steuerelemente zuweisen, also habe ich versucht, es so zu machen:

%Vor%

Aber der Fehler ist:

  

Fehler 1 Unbekannter Build-Fehler, 'Der Schlüssel darf nicht null sein.   Parametername: Taste Zeile 234 Position 43. ' D: \ Visual Studio \ Projekte \ Dental Viewer \ Dental Viewer 1.2 Dental Viewer \ MainWindow.xaml 234 Dental Viewer 1.2

Ich habe versucht, die Enumeration zu MainWindow.xaml.cs zu verschieben, ich habe es versucht

%Vor%

und

%Vor%

Ich habe versucht, dies einem Tag auf einem Label-Steuerelement zuzuweisen und bekomme trotzdem den gleichen Fehler. Was fehlt mir hier? Kann ich eine Art von Binding verwenden, um dies zu umgehen?

PS: Wenn ich den Wert eintippe und zu Tag="{x:Static }" komme, schlägt die automatische Vervollständigung nur den Member-Parameter vor, um ihn wie Tag="{x:Static Member=}" zu vervollständigen, wenn das überhaupt zählt.

    
mandarin 14.01.2015, 10:36
quelle

2 Antworten

2

Ich fand die Lösung nach dem Lesen dies . Ich dachte, dies wurde automatisch oder intern gemacht, aber die Lösung ist, dass ich den Namensraum local im Window-Tag wie folgt deklarieren muss:

%Vor%

Dann funktioniert <xctk:ColorPicker Tag="{x:Static local:ToothVisualModelType.Tooth}"/> wie ein Zauber.

    
mandarin 15.01.2015, 09:23
quelle
3

Versuchen Sie, diesen Ausdruck zu verwenden:

%Vor%

Oder Sie können eine statische Klasse wie folgt erstellen:

%Vor%

In XAML auch so verwendet:

%Vor%     
Anatoliy Nikolaev 14.01.2015 11:32
quelle

Tags und Links