首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用后面的代码编写Xaml(LayoutTransform)?

如何用后面的代码编写Xaml(LayoutTransform)?
EN

Stack Overflow用户
提问于 2015-12-16 12:00:47
回答 1查看 2.3K关注 0票数 0

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

代码语言:javascript
复制
    <Grid.LayoutTransform>
        <TransformGroup>
            <ScaleTransform x:Name="st" />
        </TransformGroup>
    </Grid.LayoutTransform>
    </Grid>
EN

回答 1

Stack Overflow用户

发布于 2015-12-16 12:07:19

您可以将ScaleTransform分配给GridLayoutTransform属性,如下所示:

代码语言:javascript
复制
grid.LayoutTransform = new ScaleTransform();
grid.UpdateLayout();

更新

这是更新的代码:

代码语言:javascript
复制
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是根元素(WindowPageUserControl)的名称。而且您不应该在设置UpdateLayout属性之后调用LayoutTransform属性,因为该属性具有元数据属性AffectsMeasure=true,因此更改转换会将Grid的属性IsMeasureValid设置为False,这将强制布局更新。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34311496

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档