了解统一网格控件

Roh*_*hit 27 wpf wpf-controls uniformgrid

我只是尝试统一网格,它是如何工作的.

代码:

<UniformGrid Name="uniformGrid1" Rows="2" Columns="3">
        <Button Content="Rohit" Grid.Row="0" Grid.Column="0" />
        <Button Content="asit" Grid.Row="0" Grid.Column="2" />
</UniformGrid>
Run Code Online (Sandbox Code Playgroud)

我发现两个按钮彼此相邻放置,但它们之间存在一列.为什么会这样?(在统一网格中,每个单元格大小相似,它们之间应该有一个单元格)

理解为什么它是这样(通过回答),但仍然好奇知道Attached属性的重要性 - Grid.Row&Grid.Column如果他们什么也不做?

Kis*_*mar 47

UniformGrid包含两个属性:Rows和Columns,用于设置行数和列数.控件按声明的顺序添加到网格中.所以它们之间不会有任何列.在您的示例中,您已声明Columns = 3,并且您只添加了两个控件.但是如果你添加另一个控件,它将放在最后.

  <UniformGrid Name="uniformGrid1"
                 Rows="2"
                 Columns="3">
        <Button Content="Rohit"
                 Margin="2" />
        <Button Content="asit"
                 Margin="2" />
        <Button Content="asit"
                Margin="2" />
    </UniformGrid>
Run Code Online (Sandbox Code Playgroud)

  • 更新了答案.这是我的错误,不需要提供Grid.Row和Grid.Column附加属性.我只是复制了你的代码而没有注意到. (2认同)

Kia*_*ian 15

针对UniformGridMSDN文章中所示,没有Grid.RowGrid.Column附加属性.

相反,Intellisense可能会建议它,因为你有Grid更深层次的文档树.如果它是附加属性,则更有可能被调用,UniformGrid.Row因为这是访问附加属性的方式.