我有一个XAML代码(LayoutTransform
),我无法在后面的代码中编写。这该怎么做?我需要在后面编写代码,因为我使用的是虚拟Grid
。这是XAML代码:
<Grid.LayoutTransform>
<TransformGroup>
<ScaleTransform x:Name="st" />
</TransformGroup>
</Grid.LayoutTransform>
</Grid>
答案 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;
是根元素的名称(MyRootElement
,Window
,Page
)。并且您不应在设置UserControl
属性后调用UpdateLayout
,因为此属性具有元数据属性LayoutTransform
,因此更改转换将设置AffectsMeasure=true
的属性Grid
为False,这将强制布局更新。