2017-12-14 1 views
0

화면 왼쪽 상단에 이미지를 배치하고 싶습니다. 이미지와 같은 선의 중심에 TextBlock이 배치됩니다. 화면 맨 위에는 왼쪽에 이미지가 있고 가운데에는 TextBlock이 있어야합니다. 나는 아래와 같이 시도했다. 그러나 이미지와 TextBlock은 모두 중심에 정렬되어있는 것처럼 보입니다.화면 상단에 TextBlock 및 이미지 정렬 - uwp

<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" Background="AliceBlue" VerticalAlignment="Top"> 
    <Image x:Name="icon_goback2" Source="Assets/icon_home.png" Margin="10,0,0,0" Height="50" Width="50" /> 
    <TextBlock Text="Your Page" HorizontalAlignment="Center" FontWeight="Bold" Foreground="White" FontSize="70" /> 
</StackPanel> 

답변

0

그냥 사용하십시오 Grid

<Grid VerticalAlignment="Top"> 
    <Image HorizontalAlignment="Left"/> 
    <TextBlock HorizontalAlignment="Center" VerticalAlignment="Center"/> 
</Grid> 
+0

글쎄, 위와 같은 대답은 제가 게시 한 것과 정확히 동일합니다. 이 문제가 아주 간단하다 할지라도 약간의 엉덩이 부상은 확실합니다. XD –

+2

@ AndréB 당신의 답은 "StackPanel"대신에'Grid'를 사용하고 있습니다. ('StackPanel'을 사용하고'HorizontalAlignment'를'Stretch'로 설정하기를 원한다면)'VerticalAlignment' 'Center'에서'TextBlock'을'Image'의 중심에 설정합니다 –

+0

당신은 완전 해요 @ Vijay! –

1

다음과 같은 코드를 시도 할 수 있습니다 :

<Grid> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition/> 
     <ColumnDefinition/> 
     <ColumnDefinition/> 
    </Grid.ColumnDefinitions> 
    <Image x:Name="icon_goback2" Source="Assets/icon_home.png" Margin="10,0,0,0" Height="50" Width="50"/> 
    <TextBlock Grid.Column="1" Text="Your Page" HorizontalAlignment="Center" FontWeight="Bold" Foreground="White" FontSize="70"/> 
</Grid> 

할 것입니다이 코드는 3 열로 그리드를 분할하고 1 열에서 <Image> (Grid.Column="0")와 <TextBlock>에 배치 무엇을 (Grid.Column="1"). 필요한 경우 Image와 Texblock의 정렬을 추가로 변경할 수 있습니다.

또한, 방향을 수평으로 설정할 때 StackPanel은 항상 자식 요소의 수평 정렬을 무시합니다. 그리드를 사용하여 여러 행과 열로 나누는 것이 이와 같은 시나리오에서 더 좋습니다.


편집 : 당신은 당신이 이런 일에 열 정의를 변경할 수 있습니다 매우 큰 TextBlock을 가지고 있기 때문에이 이 : 이것은 두 부분으로 그리드를 나눕니다

<Grid.ColumnDefinitions> 
     <ColumnDefinition Width="Auto"/> 
     <ColumnDefinition Width="Auto"/>   
</Grid.ColumnDefinitions> 

를 열 설정 폭이 자동으로

희망이 도움이됩니다.

+0

안녕하세요 내 된 본체의 됐었 텍스트를 작동 각각 LeftHorizontalAlignmentImage에 대한 CenterTextBlock을 설정하는 것은 매우 large.it는 – nsds

+0

@nsds에 완전히 표시되지 않습니다되어 I 내 대답을 편집했습니다. – Pratyay

+1

@nsds이 경우 자동 너비로 두 번째 을 정의해야합니다. –