2011-05-16 14 views
0

我在窗口xaml中創建資源。 該資源的控制,這樣綁定到複合路徑

<Window.Resources> 
    <ext:Controller x:Key="Controller"/> 
</Window.Resource> 

我在我的XAML,我想綁定到控制器「複方成員」的控制,可以這麼說。 一樣,如果我哈德一個控制器中的字符串,我想綁定到字符串長度

<TextBlock Text="{Binding Source={StaticResource Controller},Path=myString.Length}"/> 

或類似的東西。

這似乎是一個奇怪的方式來做到這一點,但我想保留在控制器中的所有成員,而不是使他們分開資源,所以他們有權訪問控制器中的某些東西。

問題的真正本質是我有幾個Windows,我希望他們共享公共資源(Controller的一個實例)。 所以我把控制器的控制器的靜態instnace。其實我是想綁定像

<TextBlock Text="{Binding Source={StaticResource Controller},Path=StaticInstance.memberProperty/> 

是否可以綁定到一個成員的成員,或者我應該是什麼樣的方式使用,而不是想要的「複合路徑的結合」,可以這麼說?

謝謝,夥計們! 欣賞幫助

回答

3

StaticInstance不是您資源(它是一個實例)的屬性,因爲它是靜態的。如果你想綁定到靜態成員,你可以使用x:Static markup extension,注意這個語法非常具體。

的結合可能會是這樣的:

{Binding Source={x:Static myns:Controller.StaticInstance}, Path=memberProperty} 
+0

是的,那正是我想要的X:靜態 - 這就是我失蹤了。謝謝! – 2011-05-16 20:05:06