首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >是否在堆栈面板中对齐项目?

是否在堆栈面板中对齐项目?
EN

Stack Overflow用户
提问于 2010-01-08 03:53:21
回答 6查看 182.6K关注 0票数 165

我想知道我是否可以在一个水平方向的StackPanel中有两个控件,以便正确的项应该停靠在StackPanel的右侧。

我尝试了以下方法,但不起作用:

代码语言:javascript
复制
<StackPanel Orientation="Horizontal">
    <TextBlock>Left</TextBlock>
    <Button Width="30" HorizontalAlignment="Right">Right<Button>
</StackPanel>

在上面的代码片段中,我希望按钮停靠在StackPanel的右侧。

注意:我需要用StackPanel来完成它,而不是网格等。

EN

回答 6

Stack Overflow用户

发布于 2012-06-24 01:38:12

Yo可以将Stack panelFlowDirection设置为RightToLeft,然后所有的项都会靠右对齐。

票数 74
EN

Stack Overflow用户

发布于 2017-01-05 16:12:46

使用DockPanel不能让它完全按照我想要的方式工作,而且颠倒StackPanel的流向是很麻烦的。使用网格不是一个选择,因为其中的项目可能在运行时被隐藏,因此我不知道设计时的总列数。我能想到的最好、最简单的解决方案是:

代码语言:javascript
复制
<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*" />
        <ColumnDefinition Width="Auto" />
    </Grid.ColumnDefinitions>
    <StackPanel Grid.Column="1" Orientation="Horizontal">
        <!-- Right aligned controls go here -->
    </StackPanel>
</Grid>

这将导致StackPanel中的控件在设计和运行时都与可用空间的右侧对齐,而与控件的数量无关。耶!:)

票数 20
EN

Stack Overflow用户

发布于 2017-10-20 23:51:10

这对我来说非常有效。只要把按钮放在第一位,因为你从右边开始。如果FlowDirection成为一个问题,只需在它周围添加一个StackPanel,并为该部分指定FlowDirection="LeftToRight“。或者简单地为相关控件指定FlowDirection="LeftToRight“。

代码语言:javascript
复制
<StackPanel Orientation="Horizontal" HorizontalAlignment="Right" FlowDirection="RightToLeft">
    <Button Width="40" HorizontalAlignment="Right" Margin="3">Right</Button>
    <TextBlock Margin="5">Left</TextBlock>
    <StackPanel FlowDirection="LeftToRight">
        <my:DatePicker Height="24" Name="DatePicker1" Width="113" xmlns:my="http://schemas.microsoft.com/wpf/2008/toolkit" />    
    </StackPanel>
    <my:DatePicker FlowDirection="LeftToRight" Height="24" Name="DatePicker1" Width="113" xmlns:my="http://schemas.microsoft.com/wpf/2008/toolkit" />    
</StackPanel>
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2023201

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档