2012-03-03 84 views
1

我建立了一些动态控件,并想转换下面的XAML到C#...转换XAML绑定到C#

Height="{Binding ElementName=GridGroup1, Path=ActualHeight}"> 

上述形式,我想设定一个动态建立边境控制的一部分以便它具有与动态构建的网格相同的高度。

关于如何做到这一点的任何想法吗?我发现的所有例子似乎都不完整。

谢谢,

保罗。

修订...确定这里是一个完整的XAML ...

<Grid x:Name="GridGroup1" HorizontalAlignment="Left" 
        Margin="20,14,0,0" 
        Width="250" 
        VerticalAlignment="Top"> 
       <Border BorderThickness="1" 
         CornerRadius="5" 
         Background="{StaticResource PanelBackground}" 
         BorderBrush="{StaticResource PanelBorderBrush}" 
         HorizontalAlignment="Left" 
         VerticalAlignment="Top" 
         Margin="0,8,0,0" 
         Width="250" 
         Height="{Binding ElementName=GridGroup1, Path=ActualHeight}"> 
        <Border.Effect> 
         <DropShadowEffect /> 
        </Border.Effect> 
       </Border> 

+0

没有办法回答这个没有看到XAML的其余部分 - - 至少对于有问题的控制。 – Hogan 2012-03-03 11:57:28

回答

0

喜欢的东西:

Binding binding = new Binding(); 
    binding.Source = GridGroup1; 
    binding.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged; 
    binding.Path = new PropertyPath("ActualHeight"); 
    MyGridBorder.SetBinding(Border.HeightProperty, binding); 
+0

是的,MSDN说几乎相同:http://msdn.microsoft.com/en-us/library/ms742863.aspx – 2012-03-03 12:23:21

+0

谢谢你,完美的作品! – 2012-03-03 12:48:46

+1

@PaulHale不要'忘记[标记此帖作为答案](http://meta.stackexchange.com/a/5235) – 2012-03-03 13:05:46