2012-03-03 88 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