当缩放内容时,是否可以自动调整XAML中的网格列的大小?当内容缩放时,XAML网格列的大小调整
下面是两个截图,以更好地解释我的意思。当用户控件首次显示它看起来像:
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。
对不起,在回到此处很慢。调整网格行和列定义的大小很有意义。然而,一个不同的问题则显示出文本没有被缩放的地方。是否有一个属性根据其父容器的大小来自动调整文本大小?如果没有,我可能需要创建一个自定义面板,调整到缩放控件。 – Jason 2009-12-09 16:39:02
看看Toolkit ViewBox控件,我相信你以后的方式来扩展内容。因此,将您的内容包裹在此控件中,您应该看到所需的结果。 – AnthonyWJones 2009-12-09 17:01:54