Pregunta

Tengo una página en mi aplicación WP7 que consiste en un TextBox al lado de un ListPicker. En sus modos predeterminados, no se alinean correctamente; la ListPicker tiene un relleno diferente al TextBox, y su altura también es diferente.

Image to show ListPicker problem

<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
    <StackPanel Orientation="Horizontal">
        <TextBox HorizontalAlignment="Left" TextWrapping="Wrap" Text="TextBox" VerticalAlignment="Top"/> 
        <toolkit:ListPicker Width="170" ItemsSource="{Binding l}" Style="{StaticResource ListPickerStyle1}" VerticalAlignment="Top"/>
    </StackPanel>
</Grid>

Ajustando manualmente el ListPickerLa plantilla para encajar correctamente aquí es difícil y propensa a errores. Por ejemplo, cuando se ajusta su altura, el título (es decir, el texto del elemento seleccionado) ya no está en el centro del componente.

Actualmente, mi aplicación está fallando la revisión de la aplicación MS porque los componentes no tienen la misma altura.

¿Hay una manera fácil de configurar el toolkit:ListPicker tener la misma apariencia que un TextBox?

¿Fue útil?

Solución

La solución más simple será tomar una copia del estilo predeterminado y ajustar que usar la mezcla para ser exactamente cómo desea que se vea. Este voluntad Tome un poco de prueba y error para resolver.

Luego puede usar las reglas de estilo implícitas para aplicarlo a todos ListPickers sin tener que establecer explícitamente el estilo en cada instancia:

<Style x:Key="MyListPickerStyle
       TargetType="toolkit:ListPicker>
    .... your tweaks here
</Style>

<Style TargetType="toolkit:ListPicker"
       BasedOn="{StaticResource MyListPickerStyle}" />

Puede ser más fácil ajustar el TextBox Estilo, por supuesto :)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top