2012-01-17 15 views
3

ListPickerの横にTextBoxというWP7アプリケーションのページがあります。デフォルトモードでは、正しく整列しません。 ListPickerTextBoxとは異なるパディングを持ち、その高さも異なっています。手動で正しくここに収まるようにListPickerのテンプレートはトリッキーでエラーが発生しやすくなり微調整WP7 ListPickerの余白と高さがTextBoxと異なる理由

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> 

。例えば、その高さが調整されると、キャプション(すなわち、選択されたアイテムのテキスト)はもはやコンポーネントの中心にはない。

コンポーネントがすべて同じ高さではないため、私のアプリは現在MSアプリのレビューに失敗しています。

toolkit:ListPickerTextBoxと同じように設定する簡単な方法はありますか?

+0

ピッカーに適用するのと同じスタイルをテキストボックスに適用できますか?または、ピッカースタイルなしで、他の方法で、それらはどのように整列しますか。 –

答えて

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

+0

@funkybro - 私には分かりません。 'TextBox'スタイルを調整して' ListPicker'スタイルにマッチさせる方が簡単かもしれません。 – ChrisF

関連する問題