2011-05-23 39 views

回答

0

有几个问题在你的绑定:

  1. GRID1。列1不是名称

  2. 列不包含子元素

如果你想绑定到网格的孩子,你必须指定要结合或挑元素出来的电网

Children集合的控件的名称

编辑

也许你的意思是不同的东西:绑定到列(尽管绑定到列的高度相似,结合网格的高度......)

See this post

而且这部作品在设计师,但在运行时无法正常工作:

<Grid x:Name="LayoutRoot"> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="100"/> 
     <ColumnDefinition x:Name="col2" Width="*" /> 
    </Grid.ColumnDefinitions> 
    <TextBlock Grid.Column="1" Text="{Binding ElementName=col2, Path=ActualWidth}" /> 
</Grid> 

最好的办法似乎是把一组列并绑定到控制由于宽度或高度那个人会更新绑定。

0

ElementName必须只是元素的名称,其他的都进入Path

所以宁愿是这样的:

{Binding ElementName=grid1,Path=Colums[1].ActualHeight} 

但是这没有任何意义,如果你的控制实际上是一个Grid,因为没有所谓的Columns属性,因此您可能需要使用:

{Binding ElementName=grid1,Path=ColumnDefinitions[1].ActualHeight} 

但是,这仍然没有意义,因为ColumnDefinitions没有ActualHeight财产,你的意思是ActualWidth