2008-11-21 53 views
1

假設我有一個像下面這樣的用戶控件,我將如何將某些東西綁定到控件外部的「G1」網格的ActualWidth綁定到用戶控件中的元素

<UserControl x:Class="Blah"> 
    <WrapPanel> 
    <Grid x:Name="G1"> 
     ... 
    </Grid> 
    <Grid> 
     ... 
    </Grid> 
    </WrapPanel> 
</UserControl> 
+0

你是什麼意思'在G1外側 - 從同一個XAML文件或代碼後面? – 2008-11-21 02:48:40

+0

如果您在不同的XAML文件 – MJS 2008-11-23 22:07:10

回答

1

如果你希望綁定到您使用此用戶控制的外部控制,聲明DependencyProperty你的用戶控件的代碼後面,然後綁定G1到該屬性。 並將外部控件的屬性綁定到UserControl的DependencyProperty。 它就像一個間接的2級。

+0

中使用控件,但是ActualWidth不會以這種方式綁定? – MJS 2008-11-23 21:24:16

1

如果你的意思的控制之外,而不是作爲控制的內容,你可以像這樣綁定使用ElementName

{Binding ElementName=G1, Path=ActualWidth} 

如果你的意思是在另一個XAML文件中的控制範圍之外,那麼你就可以嘗試,如果你的控制是在其他控制的範圍內使用Path屬性:

{Binding ElementName=ParentControl, Path=G1.ActualWidth} 

不過,我會建議對這個設計,因爲你可能會改變G1一天的名字,你永遠不會知道的任何可能破壞的綁定。