2011-05-16 92 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