3

我的 WP7 应用程序中有一个页面,其中包含TextBox一个ListPicker. 在默认模式下,它们没有正确排列;与ListPicker的填充不同TextBox,其高度也不同。

显示 ListPicker 问题的图像

<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>

在此处手动调整ListPicker's 模板以使其正确适应是棘手且容易出错的。例如,当调整其高度时,标题(即所选项目的文本)不再位于组件的中心。

我的应用程序目前未通过 MS 应用程序审查,因为组件的高度不同。

有没有一种简单的方法可以将 设置为toolkit:ListPicker与 a 具有相同的外观TextBox

4

1 回答 1

1

最简单的解决方案是获取默认样式的副本,并使用 Blend 将其调整为您想要的外观。这需要一些试验和错误来解决。

然后,您可以使用隐式样式规则将其应用于所有ListPickers实例,而无需在每个实例上显式设置样式:

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

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

当然,调整样式可能更容易TextBox:)

于 2012-01-17T09:23:24.767 回答