我有一个 UI 元素,我希望根据页面中的本地变量(实际上是模块中的变量,但我可以将其移动到页面)来设置其颜色。
在 WPF 中,我们可以通过将变量设置为属性并使用 FindAncestor 来将 UI 元素绑定到本地变量的父类:
不幸的是,Silverlight 似乎不支持 FindAncestor 模式。
是否有任何可能的解决方案,或者我必须为这个变量创建一个自定义类的实例?
我有一个 UI 元素,我希望根据页面中的本地变量(实际上是模块中的变量,但我可以将其移动到页面)来设置其颜色。
在 WPF 中,我们可以通过将变量设置为属性并使用 FindAncestor 来将 UI 元素绑定到本地变量的父类:
不幸的是,Silverlight 似乎不支持 FindAncestor 模式。
是否有任何可能的解决方案,或者我必须为这个变量创建一个自定义类的实例?
我最近几周一直在Silverlight和WPF之间跳来跳去,因此以下想法可能行得通也可能不行。
你的页面是否设置了name属性?如果没有,请设置它(x:Name="MyPage")。
然后你可以这样做:
Fill="{Binding ElementName=MyPage, Path=MyProperty}"
<RotateTransform Angle="{Binding ElementName=MyPage, Path=gDirection}" />
。 在页面代码中,我有:Property gDirection As Integer = 45
。这会在加载时引发异常。如果我用45替换绑定,它就可以正常工作,所以看起来绑定不起作用... - amb9800