什么是组织WPF元素的更好方法?

时间:2015-09-26 18:57:20

标签: wpf xaml attached-properties

我有以下XAML:

<Window x:Class="WpfTest.Window2" ...
    <Grid>
        <Grid.RowDefinitions>
            <!-- 0: Row Zero -->
            <RowDefinition Height="30" />
            <!-- 1: Row 1 -->
            <RowDefinition Height="30" />
            <!-- 2: Row 2 -->
            <RowDefinition Height="30" />
            ...
            <!-- and so on. -->

       <!-- 0: Row Zero elements -->
       <Label Grid.Row="0" ... />
       <TextBlock Grid.Row="0" ... />

       <!-- 1: Row 1 elements -->
       <Label Grid.Row="1" ... />
       <TextBlock Grid.Row="1" ... />
...

在设计时,如果我必须插入一行,比如说在第0行和第1行之间,那么我必须为所有Grid.RowLabel的{​​{1}}附加属性重新编号元素,因为现在它们都被加一个。

是否有更简单的方法可以插入一行,而不必调整该行下面的剩余项目?

1 个答案:

答案 0 :(得分:1)

正如评论中所述,我们无法直接使用Grid执行此操作。不幸的是,您必须手动重排索引。

另一个选项,如果这对您来说非常重要,那就是创建一个自定义面板并使用一些非可视子元素作为行分隔符。在内部,该小组仍然可以使用Grid来定位其子级,并且必须自己设置Grid.Row和/或Grid.Column附加的属性值。