2012-01-17 1 views
3

내 WP7 앱에 TextBox 옆에 ListPicker으로 구성된 페이지가 있습니다. 기본 모드에서는 제대로 정렬되지 않습니다. ListPicker에는 TextBox과 다른 패딩이 있으며 그 높이도 다릅니다. 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> 

수동으로 올바르게 여기에 맞게 ListPicker의 템플릿을 조정

는 경향이 까다 롭고 오류입니다. 예를 들어 높이를 조정하면 캡션 (즉, 선택한 항목의 텍스트)이 더 이상 구성 요소의 가운데에 없습니다.

구성 요소가 모두 동일한 높이가 아니므로 내 앱이 현재 MS 앱 리뷰에 실패했습니다.

toolkit:ListPickerTextBox과 같은 모양으로 설정하는 쉬운 방법이 있습니까?

+0

피커에 적용 할 때와 동일한 스타일을 텍스트 상자에도 적용 할 수 있습니까? 또는 피커 스타일을 사용하지 않고 주위의 다른 방법은 어떻게 정렬됩니까? –

답변

1

가장 간단한 해결책은 기본 스타일의 복사본을 가져 와서 Blend를 사용하여 정확하게 보길 원하는 방식으로 조정하는 것입니다. 이 에 약간의 시행 착오를 거쳐 분류됩니다.

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

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

물론 :)

TextBox 스타일을 조정할 쉬울 수 있습니다 :

당신은 명시 적으로 각 인스턴스에 스타일을 설정하지 않고 모든 ListPickers에 적용 암시 적 스타일 규칙을 사용할 수 있습니다

+0

나는 이것을 해보려고 노력했지만, 말하기는 어렵고 옳은 것으로 보이지 않는 경향이있다. 'ListPicker'는 분명히'TextBox'와 같은 시각적 외관을 가지고 있습니다. 그렇다면 기본 디멘션이 다른 이유는 무엇입니까? – funkybro

+0

@funkybro - 저도 몰라요. TextBox 스타일을 조정하여 ListPicker 스타일과 쉽게 일치시킬 수 있습니다. – ChrisF