如何在代码中编写Xaml(LayoutTransform)?

时间:2015-12-16 12:00:47

标签: c# wpf vb.net xaml

我有一个XAML代码(LayoutTransform),我无法在后面的代码中编写。这该怎么做?我需要在后面编写代码,因为我使用的是虚拟Grid。这是XAML代码:

    <Grid.LayoutTransform>
        <TransformGroup>
            <ScaleTransform x:Name="st" />
        </TransformGroup>
    </Grid.LayoutTransform>
    </Grid>

1 个答案:

答案 0 :(得分:1)

您可以将ScaleTransform分配给Grid的{​​{1}}属性,如下所示:

LayoutTransform

<强>更新

这是更新的代码:

grid.LayoutTransform = new ScaleTransform();
grid.UpdateLayout();

var nameScope = NameScope.GetNameScope(MyRootElement); var scaleTransform = new ScaleTransform(); nameScope.RegisterName("st", scaleTransform); var transformGroup = new TransformGroup(); transformGroup.Children.Add(scaleTransform); TestGrid.LayoutTransform = transformGroup; 是根元素的名称(MyRootElementWindowPage)。并且您不应在设置UserControl属性后调用UpdateLayout,因为此属性具有元数据属性LayoutTransform,因此更改转换将设置AffectsMeasure=true的属性Grid为False,这将强制布局更新。