2009-02-03 11 views

Respuesta

55

Es una forma de insertar cualquier valor estático en XAML. Por ejemplo, si tengo una clase:

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

que puede colocarlo en un WPF interfaz de usuario mediante XAML como esto:

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

Aviso, que tendrá que importar el espacio de nombres en el que se define MyConstants en tu XAML. Entonces, en el elemento o haga algo como:

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

Desafortunadamente, esto no funciona en Silverlight: http://stackoverflow.com/questions/3373926/silverlight-4-equivalent-to-wpf-xstatic –

0

me encontré con la cuestión XAML - Accessing static fields tener una respuesta que enlaza con la documentación de MSDN x:Static Markup Extension. Pensé que esto aún sería útil tener en el sitio.

+0

Sí, pero una simple búsqueda en Google de "x: Static xaml" también lo encuentra. –

+0

En ese momento pensé que "buscar StackOverflow" no "buscar en Google" y, dado que recibí mi respuesta y quería volver a la codificación, no me molesté en hacer una referencia cruzada con Google. Tenía el código y funcionó; solo tenía curiosidad por saber qué significaba. –

+1

Eso trae a colación un buen punto. Me pregunto si se alcanzará una masa crítica donde stackoverflow se convierta en el primer punto de llamada en lugar de google para la mayoría de los desarrolladores. –

6

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

Referencias cualquiera por valor de entidad de código estático definido en un Common Language Specification (CLS) de manera compatible con la propiedad que se publique se evalúa antes de cargar el resto de la página XAML y se puede utilizar para proporcionar el valor de una propiedad en XAML.

Cuestiones relacionadas