【问题标题】:Get grid.colum of a rectangle获取矩形的grid.column
【发布时间】:2014-02-27 19:48:22
【问题描述】:

我有一个这样定义的 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>

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

【问题讨论】:

    标签: c# wpf rectangles


    【解决方案1】:

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

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

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

    【讨论】:

    • 明白了谢谢,不知道可以通过GetValue获取属性值
    • 很高兴帮助 Mokmeuh..!!
    【解决方案2】:

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

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

    int column = Grid.GetColumn(rect);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-12
      • 2011-05-21
      • 2021-06-20
      • 2014-04-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多