Xaml 中height和width中的Auto与*的区别

2016-09-28 19:21:09来源:CSDN作者:jacky_zh人点击

Auto 表示自动适应显示内容的宽度, 如自动适应文本的宽度,文本有多长,控件就显示多长.

星号 *  则表示按比例来分配宽度.

<ColumnDefinition Width="3*" /><ColumnDefinition Width="7*" />

enter image description here

同样,行可以这样定义

<RowDefinition Height="3*" /><RowDefinition Height="7*" />

这些数字可以是小数.
如果数字缺省,则默认是1.
在这个例子中, 列2的宽度是列1的1.5倍.

<ColumnDefinition Width="1.5*" /><ColumnDefinition />

Column 1: 1.5*, Column 2 1* (implied)

Auto和*可以混合使用. 在这个例子中,后两行的宽度在前两行分配完之后,按比例获取剩余的宽度.

<Grid.ColumnDefinitions>    <ColumnDefinition Width="Auto" />  <!-- Auto-fit to content, 'Hi' -->    <ColumnDefinition Width="50.5" />  <!-- Fixed width: 50.5 device units) -->    <ColumnDefinition Width="69*" />   <!-- Take 69% of remainder -->    <ColumnDefinition Width="31*"/>    <!-- Take 31% of remainder --></Grid.ColumnDefinitions><TextBlock Text="Hi" Grid.Column="0" />

enter image description here


注意:列表比如datagrid等使用的时候,应当避免使用auto,否则会根据数据源的大小(记录跳数的多少)改变对应控件的高度,

一方面导致页面高度不统一,一方面导致数据多事,加载有停顿。



最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台