1

我正在尝试将 Silverlight 应用程序移植到 Metro,并发现在我的 ControlTemplate 设置中我的绑定{Binding PropertyName, RelativeSource={RelativeSource TemplatedParent}}似乎不起作用,但{TemplateBinding PropertyName}确实如此。

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

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

4

1 回答 1

2

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

于 2012-05-02T20:12:31.437 回答