2012-01-17 47 views
3

我有一个网页在我的WP7应用程序由TextBoxListPicker旁边。在他们的默认模式下,他们没有正确排列;所述ListPicker具有不同的填充到TextBox,并且其高度也不同。为什么WP7 ListPicker有不同的利润率和高度文本框

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> 

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

我的应用程序,目前没有MS应用程序审查,因为组件是不尽相同的高度。

有没有简单的方法让我设置toolkit:ListPickerTextBox有相同的外观?

+0

你可以申请你所申请的选择器的文本框,以及相同的风格?或者相反,没有选择器风格,它们是如何排列的。 – 2012-01-17 09:26:59

回答

1

最简单的解决方法是将采取的默认样式的副本和调整,使用混合是完全按照你希望它看起来。这需要一些试验和错误进行梳理。

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

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

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

它可能会更容易来调整TextBox风格当然:)

+0

我一直在努力做到这一点,但就像我说这很困难,并且容易看起来不太正确。 'ListPicker'与'TextBox'显然具有相同的视觉外观,为什么它的默认尺寸不同? – funkybro 2012-01-17 09:26:19

+0

@funkybro - 我不知道。调整'TextBox'风格可能更容易,因此它与'ListPicker'风格相匹配。 – ChrisF 2012-01-17 09:27:09