使用StackPanel让控件向右对齐也没有用,Qt则有弹簧可以把空间挤到右边去,如下图:

而在XAML里面编写如下代码却没有用( 所包含的3个控件HorizontalAlignment="Right" ):
<StackPanel Orientation="Horizontal" HorizontalAlignment="Stretch">
<TextBox Text="c" x:Name="tbCurrentPage" FontSize="26" Margin="5, 5, 0, 15" HorizontalAlignment="Right" VerticalAlignment="Center" TextAlignment="Center"></TextBox>
<TextBlock Text="/" FontSize="26" Margin="0, 5, 0, 15" VerticalAlignment="Center" HorizontalAlignment="Right" TextAlignment="Center"></TextBlock>
<TextBox Text="t" x:Name="tbTotalPage" FontSize="26" Margin="0, 5, 5, 15" VerticalAlignment="Center" HorizontalAlignment="Right" TextAlignment="Center"></TextBox>
</StackPanel>
一个根布局StackPane(方向水平)包含了4个按钮和下图红色标记部分的StackPane(包含上述代码3个控件)。
而且StackPanel的HorizontalAlignment="Stretch"按道理应该布满剩下的空间,但只布满了红色标记部分(也就是3个控件合起来的大小)。
右侧3个控件(红色标记部分),怎么弄都不会靠右侧。[/color]

感觉XAML布局和Qt布局比起来还是没那么好用,Qt还可以把整个界面反过来(Qt没有太多布局方式,但似乎工作中还没有Qt布局做不到的)。一般人从左到右看,阿拉伯人则从右到左(犹如中国古代人读文章一样),这个Qt做起来很好用。
------解决方案--------------------
也许你可以外边不用StackPanel而是用Grid,然后用列来控制位置,也可以实现你这个需求。
某种意义上来说,确实是需要变通,但是你看好TM烂5布局都那样了还能这么流行,也就不觉得纠结了。
------解决方案--------------------
你在设置对齐的时候,还要注意margin。
顺序是先看margin,再看对齐。
------解决方案--------------------
你把MARGIN设置一下呢?