首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自动化网格

自动化网格
EN

Stack Overflow用户
提问于 2013-12-03 21:43:07
回答 1查看 37关注 0票数 0

我想从Grid控件派生,这样我就可以以一种特定的方式自动化它的子控件的布局,并且想知道什么是最好的方法。

我希望能够做的事情是:

代码语言:javascript
复制
    <l:CustomGrid>
        <Label Content="PropA" Grid.ColumnSpan="89"/>
        <TextBox />

        <Label Content="PropB"/>
        <Slider />

        <!-- this needs to span 2 columns -->
        <Label Content="Span" l:CustomGrid.SpanRow="True"
               HorizontalAlignment="Center" />

        <Label Content="PropC"/>
        <CheckBox />
    </l:CustomGrid>

其中,自定义网格将自动将其布局为2列网格,具有N行,方法是将每个偶数子对象作为第0列,每个奇数子对象作为第1列,然后在每个奇数子对象之后添加新行。通过覆盖OnVisualChildrenChanged来执行网格附加属性的逻辑/设置,这非常容易。

然而,在这一点上,附加的属性似乎还没有设置,所以自定义的SpanRow属性还没有被应用,这意味着我不能执行我需要的逻辑。

所以我想知道我如何才能用一种不同的方式来做这件事?

EN

回答 1

Stack Overflow用户

发布于 2013-12-03 22:35:50

不同的方式不是从Grid中破解或派生出来的。

在网格加载后,如果您在运行时更改子集合,则侦听已加载的事件和VisualChildrenChanged。在这两种情况下,您都必须执行相同的逻辑,如上所述,这些逻辑将通过子对象运行,并更改或应用新的值到附加的Grid.Column属性。

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

https://stackoverflow.com/questions/20352788

复制
相关文章

相似问题

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