2017-11-07 6 views
-1

내 WPF 응용 프로그램에서 눈금이 있습니다. 이 그리드에는 두 개의 열과 한 개의 행이 있습니다.WPF 모눈 열 맞춤 : 오른쪽에서 두 번째 왼쪽

----------------------------------------------------- 
|    ProgressControlSpinner|"Loading..."| 
----------------------------------------------------- 

가 대신 내가 얻을 : 내가 원하는

----------------------------------------------------- 
|ProgressControlSpinner|"Loading..."    | 
----------------------------------------------------- 

참고 이제

, 나는 아래 왼쪽 오른쪽 두 번째 열 내용에 대한 첫 번째 열 내용을 정렬하는 데 노력하고 있어요 두 번째 열은 텍스트 너비에 맞게 자동 조정됩니다. 또한이 격자는 격자가 포함되어있는 외부 격자 열로 확장되어야합니다.

내 그리드는 다음과 같습니다 :

<Grid x:Name="MyGrid" Grid.Column="1" Margin="3" Visibility="Collapsed"> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="*"/> 
     <ColumnDefinition Width="auto"/> 
    </Grid.ColumnDefinitions>      
    <controls:ProgressControlSpinner Grid.Column="0" Width="20" Height="20" HorizontalAlignment="Right"/> 
    <TextBlock Margin="3 0 0 0" Grid.Column="1" VerticalAlignment="Center" HorizontalAlignment="Left" Text="Loading..." /> 
</Grid> 

:이 그리드는 다른 외부 그리드 내에 포함되어 있습니다.

+2

XAML이 올바른 것입니다. 코드 숨김으로 무엇을하고 있습니까? 그 격자는 외부 컨테이너의 자식입니다. 문제가있을 수 있습니다. 두 번째 * 스크린 샷 *의 공백이 속할 수 있습니다 (확인하려면'Background'를 설정할 수 있습니다). 더 많은 xaml을 보여줄 수 있습니까? – Sinatr

+0

@Sinatr 예 외부 격자에 문제가 있습니다. 열 정의 너비가 올바르지 않습니다. 내 대답을 보라. – user1624552

답변

0

해결했습니다. 내부 격자가 포함 된 열 너비를 정의 할 때 내 문제가 외부 격자에있었습니다.

<Grid Grid.Column="0" Grid.Row="0" Margin="10 10 10 5" HorizontalAlignment="Stretch"> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="auto"></ColumnDefinition> 
     <ColumnDefinition Width="auto"></ColumnDefinition> 
     <ColumnDefinition Width="*"></ColumnDefinition> 
    </Grid.ColumnDefinitions> 

    <Grid x:Name="MyGrid" Grid.Column="1" Margin="3" Visibility="Collapsed"> 
     <Grid.ColumnDefinitions> 
      <ColumnDefinition Width="*"/> 
      <ColumnDefinition Width="auto"/> 
     </Grid.ColumnDefinitions>      
     <controls:ProgressControlSpinner Grid.Column="0" Width="20" Height="20" HorizontalAlignment="Right"/> 
     <TextBlock Margin="3 0 0 0" Grid.Column="1" VerticalAlignment="Center" HorizontalAlignment="Left" Text="Loading..." /> 
    </Grid> 

</Grid> 

을 올바른은 다음과 같습니다 :

내가했다

<Grid Grid.Column="0" Grid.Row="0" Margin="10 10 10 5" HorizontalAlignment="Stretch"> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="auto"></ColumnDefinition> 
     <ColumnDefinition Width="*"></ColumnDefinition> 
     <ColumnDefinition Width="auto"></ColumnDefinition> 
    </Grid.ColumnDefinitions> 


    <Grid x:Name="MyGrid" Grid.Column="1" Margin="3" Visibility="Collapsed"> 
     <Grid.ColumnDefinitions> 
      <ColumnDefinition Width="*"/> 
      <ColumnDefinition Width="auto"/> 
     </Grid.ColumnDefinitions>      
     <controls:ProgressControlSpinner Grid.Column="0" Width="20" Height="20" HorizontalAlignment="Right"/> 
     <TextBlock Margin="3 0 0 0" Grid.Column="1" VerticalAlignment="Center" HorizontalAlignment="Left" Text="Loading..." /> 
    </Grid> 

</Grid>