WPF明星做什么(宽度=“100 *”)
WPF中的星号是什么意思?
在WPF Grid中, Width="*"
或Height="*"
表示比例大小。
例如:给第1列30%,第2列给70%
<ColumnDefinition Width="3*" /> <ColumnDefinition Width="7*" />
而且对于行 –
<RowDefinition Height="3*" /> <RowDefinition Height="7*" />
数字不一定是整数。
如果RowDefinition的宽度(用于ColumnDefinition的高度)被省略,则隐含1 *。
在这个例子中,第1列比第2列宽1.5倍 –
<ColumnDefinition Width="1.5*" /> <ColumnDefinition />
您可以将自动拟合和固定宽度与*(成比例)宽度混合; 在这种情况下,在自动拟合宽度和固定宽度已经被计算之后,*列将被分配给剩余的列 –
<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" />
如果你有2列这样的:
<ColumnDefinition Width="10*"/> <ColumnDefinition Width="*"/>
这意味着第一列比第二列宽10倍。 就像是说“10部分第1栏,1部分第2栏”。
关于这个很酷的事情是,你的专栏将按比例resize。 其他选项是:
//Take up as much space as the contents of the column need <ColumnDefinition Width="Auto"/> //Fixed width: 100 pixels <ColumnDefinition Width="100"/>
希望有所帮助!
我们以下面的例子…..
一个网格和3列,每个包含一个大小为100的button。
XAML代码是…
<Grid x:Name="LayoutRoot" Width="600"> <Grid.ColumnDefinitions> <ColumnDefinition Width="3*" /> <ColumnDefinition Width="Auto" /> <ColumnDefinition Width="*" /> </Grid.ColumnDefinitions> <Button Content="Button" Height="23" HorizontalAlignment="Left" Margin="10,10,0,0" Name="button1" VerticalAlignment="Top" Width="100" /> <Button Content="Button1" Height="23" HorizontalAlignment="Left" Margin="0,10,0,0" Name="button2" VerticalAlignment="Top" Width="100" Grid.Column="1" /> <Button Content="Button2" Height="23" HorizontalAlignment="Left" Margin="0,10,0,0" Name="button3" VerticalAlignment="Top" Width="100" Grid.Column="2" /> </Grid>
但其实它的大小是…
<Grid.ColumnDefinitions> <ColumnDefinition Width="375" /> <ColumnDefinition Width="Auto" /> <ColumnDefinition Width="125" /> </Grid.ColumnDefinitions>
结论:
网格的总大小是600
“自动”:列是包含它的重新大小。 (第二栏有宽度100的button)
“*”:第一列宽度是第三列的3倍。
另外,如果这是单位大小的元素,则可以省略“*”。 所以使用Pwninstein的代码示例,它只是:
<ColumnDefinition Width="10*/> <ColumnDefinition/>