获取矩形的grid.column

时间:2014-02-27 19:48:23

标签: c# wpf rectangles

我有一个像这样定义的xaml:

<Grid>
   <Rectangle Grid.Column="0" Height="{Binding ElementName=CanvaContainer, Path=ActualHeight}" MouseEnter="Rectangle_MouseEnter"/>
   <Rectangle Grid.Column="1" Height="{Binding ElementName=CanvaContainer, Path=ActualHeight}" MouseEnter="Rectangle_MouseEnter"/>
   <Rectangle Grid.Column="2" Height="{Binding ElementName=CanvaContainer, Path=ActualHeight}" MouseEnter="Rectangle_MouseEnter"/>
   <Rectangle Grid.Column="3" Height="{Binding ElementName=CanvaContainer, Path=ActualHeight}" MouseEnter="Rectangle_MouseEnter"/>
   <Rectangle Grid.Column="4" Height="{Binding ElementName=CanvaContainer, Path=ActualHeight}" MouseEnter="Rectangle_MouseEnter"/>
   <Rectangle Grid.Column="5" Height="{Binding ElementName=CanvaContainer, Path=ActualHeight}" MouseEnter="Rectangle_MouseEnter"/>
   <Rectangle Grid.Column="6" Height="{Binding ElementName=CanvaContainer, Path=ActualHeight}" MouseEnter="Rectangle_MouseEnter"/>
   <Rectangle Grid.Column="7" Height="{Binding ElementName=CanvaContainer, Path=ActualHeight}" MouseEnter="Rectangle_MouseEnter"/>
   <Rectangle Grid.Column="8" Height="{Binding ElementName=CanvaContainer, Path=ActualHeight}" MouseEnter="Rectangle_MouseEnter"/>
   <Rectangle Grid.Column="9" Height="{Binding ElementName=CanvaContainer, Path=ActualHeight}" MouseEnter="Rectangle_MouseEnter"/>
   <Rectangle Grid.Column="10" Height="{Binding ElementName=CanvaContainer, Path=ActualHeight}" MouseEnter="Rectangle_MouseEnter"/>
   <Rectangle Grid.Column="11" Height="{Binding ElementName=CanvaContainer, Path=ActualHeight}" MouseEnter="Rectangle_MouseEnter"/>
</Grid>

我找不到的是一种访问网格列号I的方法,我试图投射矩形,但我找不到它的适当属性。

2 个答案:

答案 0 :(得分:0)

如果您有Rectangle个对象,则可以使用 GetValue() 方法获取该对象。假设rect是对象名称,那么你可以这样得到它:

int column = (int)rect.GetValue(Grid.ColumnProperty);

Grid.Column是附加属性,而不是Rectangle的正常依赖属性。因此,你必须在那里传递Grid.ColumnProperty

答案 1 :(得分:0)

Grid.Columnattached property,因此定义了静态getter和setter方法Grid.GetColumnGrid.SetColumn。请特别注意链接的MSDN文章的Attached Properties in Code部分。

在代码中获取Grid.Column属性值的常用方法是调用静态getter方法:

int column = Grid.GetColumn(rect);
相关问题