c# variable Associazione alla proprietà di classe statica




static class c++ (3)

Voglio associare un testo di testo a una proprietà di una classe statica. Ogni volta che cambia il valore della proprietà della classe statica, dovrebbe riflettere il blocco di testo che si trova sull'altra finestra o il controllo personalizzato.


È possibile associare a QUALSIASI proprietà su una classe statica utilizzando l'estensione di markup x:Static ma se non si implementa alcun rilevamento delle modifiche, potrebbe causare errori durante l'aggiornamento!

<TextBlock Text="{Binding Source={x:Static sys:Environment.MachineName}}" />

Questo ha funzionato per me:

Text="{Binding Source={x:Static MyNamespace:MyStaticClass.MyProperty}, Mode=OneWay}"

Senza Mode=OneWay ho ottenuto un'eccezione.


Per coloro che usano classi statiche nidificate per organizzare / separare le costanti. Se è necessario eseguire il binding in classi statiche nidificate, sembra che sia necessario utilizzare un operatore più (+) anziché l'operatore punto (.) Per accedere alla classe nidificata:

{Binding Source={x:Static namespace:StaticClass+NestedStaticClasses.StaticVar}}

Esempio:

public static class StaticClass
    {
        public static class NestedStaticClasses
        {
            public static readonly int StaticVar= 0;

        }
    }




textblock