我曾在诸如(我解释)“Web 开发人员会发现 WPF 样式范式熟悉”之类的评论中看到 WPF 与 Web 开发的临时比较。是否可以将控件大小指定为其容器尺寸的百分比?如果是这样,在 WPF XAML 中,即使容器的宽度发生变化,如何告诉控件占用其容器宽度的 50%?
<Style TargetType="{x:Type foo:Widget}">
?
</Style>
您可以定义一个包含 3 列的网格,外部两列定义为平均填充剩余空间,中间为 50%:
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="0.5*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
...
</Grid>
然后添加控件:
<Button Grid.Column="1" HorizontalAligment="Stretch" />