none
Falta de practica con XAML RRS feed

  • Pregunta

  • Hola,

    Tengo una página en XAML con un TextBlock que esta asociado a un objeto en la propiedad Text asocio por Binding. En fin el problema es que aunque dí un curso de iniciación con XAML pues veo que no me enteré bien como mi pregunta.

    Ahora tengo la plantilla con el TextBlock en diseño invisible osea vacio y no se donde esta visualmente por XAML sí claro.

    Y cuando ejecuto el código es visible perfectamente.

    Mi pregunta es como puedo ver la propiedad Text del TextBlock en modo diseño para ver el formulario mientras diseño.

    Gracias.


    Heimdal

    domingo, 2 de septiembre de 2012 15:43

Todas las respuestas

  • Hola!

    En WPF tenías una propiedad en el Binding llamada FallbackValue, pero esta propiedad NO EXISTE en WinRT. Lo que puedes hacer es en la propiedad que está enlazada a tu textblock, comprobar si estás en modo de diseño y si estás en diseño devolver un valor por defecto que te permita ver el TextBlock:

    public string Texto
    {
        get
        {
            if (Windows.ApplicationModel.DesignMode.DesignModeEnabled)
                return "texto en modo diseño";
    
            return texto;
        }
        set
        {
            texto = value;
        }
    }

    Con este código se devolverá "texto en modo diseño" en Visual Studio y el valor de tu variable privada texto en ejecución.

    Así es como se hace. Un saludo!


    MCTS - .NET 4.0 Windows Applications
    MCTS - .NET 4.0 Data Access
    MCTS - .NET 4.0 Service Communication Applications
    MCPD - .NET 4.0 Windows Developer
    Visita mi Blog en Geeks.ms
    Sigueme en Twitter

    domingo, 2 de septiembre de 2012 16:31
    Moderador
  • Vaya !! me parece coherente lo que me cuentas aunque supongo que sería esto:

        get
        {
            if (Windows.ApplicationModel.DesignMode.DesignModeEnabled)
                return "texto en modo diseño";
            else
                return texto;
        }
    
    De todas formas no me va. Yo que ya pensaba ponerme de rodillas y adorarte. Me cachis.:)


    Heimdal

    domingo, 2 de septiembre de 2012 17:53
  • Hola!

    El else no es necesario. Si entra en el if ejecuta el primer return y no continua en el get, sale automáticamente. si no entra en el if pasa al segundo return, pero es cuestión de gustos.

    No te va, esto debe ser porque no está resolviendo tu ViewModel en tiempo de diseño, ¿Cómo asignas la ViewModel a tu Xaml?

    Un saludo!


    MCTS - .NET 4.0 Windows Applications
    MCTS - .NET 4.0 Data Access
    MCTS - .NET 4.0 Service Communication Applications
    MCPD - .NET 4.0 Windows Developer
    Visita mi Blog en Geeks.ms
    Sigueme en Twitter

    domingo, 2 de septiembre de 2012 17:59
    Moderador
  • Oye tienes toda la razón que burro soy:) cuando pasa por el primer return salta, ahiii:)

    Bueno vamos al tema. Pues sinceramente no se que decirte te pido disculpa pues no tengo mucha experiencia en esto. De todas formas te cuento.

    El objeto supongo que das por hecho que lleva NotifyPropertyChanged.

    El DataContext del objeto instanciado lo hago por código. Y en el Xaml tengo Page.Resources donde doy acceso al objeto mediante local:Objeto x:Key="Objeto"

    Por último el textblock en su propiedad text=recibe el Binding a su dato para nosotros texto.


    Heimdal


    domingo, 2 de septiembre de 2012 18:08