繁体   English   中英

WPF网格列对齐方式:从右到右,从第二到左

[英]WPF Grid column alignment: first to right, second to left

我的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>

注意 :此网格包含在另一个外部网格中。

我解决了 我的问题是在定义包含内部网格的列的宽度时在外部网格中。

我有:

<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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM