问题以及解决------在Window设置了SizeToContent=WidthAndHeight属性下怎么如何使RowDefinitions中设置的宽度比例生效

  问题:在写一个弹窗的时候做了如下的定义

<Grid.ColumnDefinitions>
                        <ColumnDefinition Width="0.4*"/>
                        <ColumnDefinition Width="0.4*"/>
                        <ColumnDefinition Width="30"/>
</Grid.ColumnDefinitions>

启动界面后发现第一列与第二列没有实现预想中的1:1的比例,尝试过写死宽度,但是这样就失去了自适应的功能。

    解决方法:   后来,经过一番检查,发现在预定义的window样式里面有这么一句话 SizeToContent=WidthAndHeight,这句话的含义,就如字面上的意思一样,窗口的宽度与高度是由窗口内的内容决定了,在这个大条件下,我再里面设置的列宽比例才没有到预期的目标。

      于是我想到了那干脆让第二列的宽度与第一列保持一致得了,又加上WPF本身的binding属性,所以我再第二列的属性中,增加了这么一句话  Width="{Binding ActualWidth,ElementName=tbTag(第一列控件的名字),Mode=OneWay}" ,这样就解决了比例的问题。

 

    一些东西果然是要到用的时候才会知道自己有没有掌握。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值