当前位置: 代码迷 >> Windows Mobile >> WP格局为什么没有类似Qt的弹簧呢
  详细解决方案

WP格局为什么没有类似Qt的弹簧呢

热度:84   发布时间:2016-04-25 07:13:03.0
WP布局为什么没有类似Qt的弹簧呢
本帖最后由 OneOnce 于 2014-05-24 00:41:12 编辑
使用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设置一下呢?
  相关解决方案