我有一个XAML代码(LayoutTransform),不能用后面的代码编写。怎么做?我需要在后面编写代码,因为我使用的是虚拟Grid。这是XAML代码:
<Grid.LayoutTransform>
<TransformGroup>
<ScaleTransform x:Name="st" />
</TransformGroup>
</Grid.LayoutTransform>
</Grid>发布于 2015-12-16 12:07:19
您可以将ScaleTransform分配给Grid的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的属性IsMeasureValid设置为False,这将强制布局更新。
https://stackoverflow.com/questions/34311496
复制相似问题