¡Fernando Cortés Hierro! MCSD

Experimentando con el usuario

Recent posts

Tags

Categories

Navigation

Pages

    Archive

    Blogroll

    Disclaimer

    The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

    XBOX 360

    Silverlight Beta2 to RTM: OnClick Event Failed

    Volvemos a esta serie de posts relacionados con problemas que nos podemos encontrar a la hora de migrar una aplicación Silverlight Beta 2 a la versión final. En este caso supongamos que tenemos una aplicación silverlight con el siguiente código Xaml:

       1:      <Grid x:Name="LayoutRoot">
       2:          <Image Margin="0,0,0,0" Source="Images/background.jpg" Stretch="Fill" />
       3:          <Labs:Control1 HorizontalAlignment="Stretch" VerticalAlignment="Stretch"/>
       4:          <Labs:Control2 Height="92.719" HorizontalAlignment="Left" Margin="8,8,0,0" VerticalAlignment="Top" Width="176"/>
       5:          <Labs:Control3 x:Name="mainMenu" HorizontalAlignment="Right" VerticalAlignment="Top"/>
       6:      </Grid>

    Donde cada UserControl Control contienen un botón que responde al evento MouseLeftButtonUp.

    ¿Qué ocurre si migramos esta aplicación a la versión final de silverlight? Pues ocurre que no ocurre nada, es decir, por mucho que apretemos el botón izquierdo del ratón sobre el botón, contenido en cada control, no ocurre nada.

    El por qué lo tenemos en el tipo de panel que contiene la imagen y los tres controles de usuario. ¿No veis que falte algo? Pues sí, no están definidas las filas ni las columnas. Otro de los problemas de la Beta 2 en cuenta a permisividad. Por tanto añadiendo la definición de filas y columnas y definición que parte del Grid ocupa cada objeto, el código fuente resultante y funcional seria el siguiente:

       1:      <Grid x:Name="LayoutRoot">
       2:          <Grid.RowDefinitions>
       3:              <RowDefinition Height="100"/>
       4:              <RowDefinition Height="*"/>
       5:          </Grid.RowDefinitions>
       6:          <Grid.ColumnDefinitions>
       7:              <ColumnDefinition Width="180"/>
       8:              <ColumnDefinition Width="*"/>
       9:          </Grid.ColumnDefinitions>
      10:          <Image Margin="0,0,0,0" Source="Images/background.jpg" Stretch="Fill" 
                             Grid.Column="0" Grid.Row="0" Grid.RowSpan="2" Grid.ColumnSpan="2"/>

    11: <Labs:Control1 HorizontalAlignment="Stretch" VerticalAlignment="Stretch"

    Grid.Row="0" Grid.Column="0" Grid.RowSpan="2" Grid.ColumnSpan="2"/>

      12:          <Labs:Control2 Height="92.719" HorizontalAlignment="Left" Margin="8,8,0,0" 
                             VerticalAlignment="Top" Width="176" Grid.Column="0" Grid.Row="0"/>
      13:          <Labs:Control3 x:Name="mainMenu" HorizontalAlignment="Right" VerticalAlignment="Top" Grid.Row="0" Grid.Column="1"/>
      14:      </Grid>

    Ahora si que funcionan nuestros botones :)



    Posted: Oct 28 2008, 12:43 by Fernando | Comments (0) RSS comment feed |
    • Currently 0/5 Stars.
    • 1
    • 2
    • 3
    • 4
    • 5
    Filed under: Silverlight | UX

    Related posts

    Add comment


    (Will show your Gravatar icon)  

      Country flag

    [b][/b] - [i][/i] - [u][/u]- [quote][/quote]



    Live preview

    said:

    # January 06 2009, 10:16