none
Binding en ApplicationBarMenuItem WP 7 RRS feed

  • Pregunta

  • Hola a todos!

    Tengo un problema con un elemento de menú para la applicationBar: Resulta que tengo la app globalizada para los idiomas español e inglés. Todas las opciones de la aplicación están globalizadas y sus propiedades Text obtienen su valor (en su correspondiente idioma) a través de Binding con la expresión {Binding RecursosLocalizados.Clave, Source={StaticResource LocalizedStrings}}

    Cuando intento establecer que una opción del menú aparezca con el idioma correspondiente se produce una excepción. El código a establecer es: 

    <phone:PhoneApplicationPage.ApplicationBar>
            <shell:ApplicationBar IsVisible="True" IsMenuEnabled="True">
                     <shell:ApplicationBar.MenuItems>
                    <shell:ApplicationBarMenuItem Text="{Binding RecursosLocalizados.Acerca, Source={StaticResource LocalizedStrings}}"          Click="ApplicationBarIconButton_Click" />
                </shell:ApplicationBar.MenuItems>
            </shell:ApplicationBar>
        </phone:PhoneApplicationPage.ApplicationBar>

    Quería preguntaros si os ha pasado algo similiar? He probado varias veces ... La opción elemento de menú sin binding en su propiedad Text funciona correctamete.

    Muchas gracias por todo!!! :-)


    Santiago Pomar

    martes, 15 de enero de 2013 21:11

Respuestas

  • Hola Santiago

    Desgraciadamente, tanto en Wp7 como Wp8, el ApplicationBar no es un elemento de Silverlight "normal" y no permite usar Bindings. Si quieres localizar los textos, tendrás que crear la applicationBar y los menú items por código, asignándole el texto que corresponda según el idioma.

    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

    • Marcado como respuesta Santiago Pomar miércoles, 16 de enero de 2013 7:11
    miércoles, 16 de enero de 2013 5:07
    Moderador

Todas las respuestas

  • Hola Santiago

    Desgraciadamente, tanto en Wp7 como Wp8, el ApplicationBar no es un elemento de Silverlight "normal" y no permite usar Bindings. Si quieres localizar los textos, tendrás que crear la applicationBar y los menú items por código, asignándole el texto que corresponda según el idioma.

    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

    • Marcado como respuesta Santiago Pomar miércoles, 16 de enero de 2013 7:11
    miércoles, 16 de enero de 2013 5:07
    Moderador
  • Hola Josue!

    Ok, muchas gracias por tu respuesta. Entonces lo estableceré desde código.

    Aprovecho para darte la enhorabuena por tu nuevo libro de Windows 8 y WP8, me gusta mucho la idea de que hayáis incluido un tema dedicado a MVVM a nivel avanzado (MVVM Light....) :-)


    Santiago Pomar

    miércoles, 16 de enero de 2013 7:11