绑定到RelativeSource TemplatedParent在ControlTemplate中不起作用

时间:2012-05-02 17:50:06

标签: c# xaml windows-8 windows-runtime winrt-xaml

我正在尝试将Silverlight应用程序移植到Metro,并且发现在我的ControlTemplate设置中,我对{Binding PropertyName, RelativeSource={RelativeSource TemplatedParent}}的绑定似乎不起作用,但是{TemplateBinding PropertyName}会这样做。

这两个都在我的Silverlight应用程序中工作,但是我需要使用RelativeSource语法来允许使用Mode=TwoWay

在ControlTemplate中使用TwoWay绑定需要做什么?

1 个答案:

答案 0 :(得分:2)

如果您正在构建自己的控件 - 您可以通过在OnApplyTemplate()重写中调用GetTemplateChild()来定义模板部件并检索它们 - 然后只需手动更新属性而不是依赖绑定。如果您只是重新尝试现有的控件 - 也许您可以先将它们子类化,或创建附加的依赖属性/ behaviors来处理绑定。