【发布时间】:2009-12-06 19:22:10
【问题描述】:
是否可以在 XAML 中缩放内容时自动调整网格列的大小?
以下是两个屏幕截图,可以更好地解释我的意思。当 UserControl 首次显示时,它看起来像:
before scaling http://www.jason-mitchell.com/images/controlsBeforeScale.JPG
目的是白色圆角矩形(带有文本块、组合框和滑块)应始终位于灰色矩形的右侧。但是,当灰色矩形从后面的代码中放大时,网格列宽不会增加以适应这一点,并会产生如下所示的重叠。
after scaling http://www.jason-mitchell.com/images/controlsAfterScale.JPG
有没有办法让这个列自动改变宽度以适应 XAML 中的控件?
我的 XAML 目前看起来像:
<UserControl
x:Class="Project.Items.Bubble"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:Project.Items">
<UserControl.Resources>
<ResourceDictionary
Source="./Assets/BubbleResourceDictionary.xaml" />
</UserControl.Resources>
<Grid
ShowGridLines="True">
<Grid.ColumnDefinitions>
<ColumnDefinition
Width="Auto" />
<ColumnDefinition
Width="Auto" />
</Grid.ColumnDefinitions>
<Grid
x:Name="ObjectRoot"
Style="{StaticResource ObjectRootStyle}">
<Rectangle
Style="{StaticResource RectangleStyle}" />
<Rectangle
Style="{StaticResource HighlightStyle}" />
<TextBlock
Style="{StaticResource TextStyle}"
Text="<Text>" />
</Grid>
<local:Editor
x:Name="Editor"
VerticalAlignment="Top"
HorizontalAlignment="Right"
Grid.Column="1" />
</Grid>
注意:这是在 Silverlight 中。
【问题讨论】:
标签: silverlight xaml