2009-02-03 4 views

Antwort

55

Es ist eine Möglichkeit, einen beliebigen statischen Wert in XAML einzufügen. wenn ich eine Klasse Zum Beispiel habe:

namespace A 
{ 
    public class MyConstants 
    { 
     public static readonly string SomeConstantString = "BAM!"; 
    } 
} 

ich es in eine WPF-Benutzeroberfläche mithilfe von XAML wie folgt platzieren:

<TextBlock Text="{x:Static A:MyConstants.SomeConstantString}" /> 

Hinweis, müssen Sie den Namensraum importieren, in dem MyConstants definiert in dein XAML. Also im oder Element etwas tun wie:

xmlns:A="clr-namespace:A" 
+2

Leider funktioniert das nicht in Silverlight: http://stackoverflow.com/questions/3373926/silverlight-4-equivalent-to-wpf-xstatic –

0

fand ich die Frage XAML - Accessing static fields eine Antwort, die x:Static Markup Extension auf der MSDN-Dokumentation verknüpft. Ich dachte, das wäre immer noch nützlich, um auf der Website zu haben.

+0

Ja, aber eine einfache Google-Suche von "X: Static Xaml" findet es auch! –

+0

Zu der Zeit dachte ich "Suche StackOverflow" nicht "Suche Google" und da ich meine Antwort bekommen hatte und wollte zurück zu Codierung, habe ich nicht auf einen Querverweis mit Google zu tun. Ich hatte den Code und es funktionierte - ich war nur neugierig, was es bedeutete. –

+1

Das bringt einen guten Punkt. Ich frage mich, ob eine kritische Masse erreicht wird, bei der stackoverflow zum ersten Anlaufpunkt wird, anstatt für die Mehrheit der Entwickler googeln zu müssen. –

6

Von MSDN: http://msdn.microsoft.com/en-us/library/ms742135.aspx

Referenzen jede statische by-Wert definiert Code-Einheit in einer Common Language Specification (CLS) konform Die Eigenschaft verwiesen wird vor dem Laden der Rest der XAML-Seite ausgewertet und können verwendet werden, Stellen Sie den Wert einer Eigenschaft in XAML bereit.