从代码绑定到 WinRT/UWP 中附加的自定义 属性
Binding from code to a custom attached property in WinRT/UWP
我正在尝试从针对多个框架(WPF、WinRT、UWP 等)的库中的代码创建绑定,但我碰壁了。我尝试绑定的 属性 是附加的 custom 属性。在 WPF 中,我可以将 DependencyProperty
本身作为绑定路径传递:
new PropertyPath(MyClass.MyAttachedProperty)
但在 WinRT 中 PropertyPath
class 只接受字符串。我试图像这样传递 属性 的名称:
new PropertyPath("(MyClass.MyAttachedProperty)")
但当然它不起作用,因为我的 class 不在默认命名空间中。在 XAML 中,我可以将命名空间映射到一个前缀并使用该前缀,但据我所知,不可能从代码中做到这一点。
有什么方法可以在代码中创建这个绑定吗?
好问题,经过研究和讨论,我们已经确认在 UWP 中,我们无法以编程方式绑定到自定义附加 属性。可惜了。
您可以通过 Windows 反馈工具提交添加此新功能以进行开发的请求。
看起来好像这里可能有一个解决方案,其中涉及使用 XamlReader.Load 和包含绑定的资源字典,让加载程序为您完成工作。
我正在尝试从针对多个框架(WPF、WinRT、UWP 等)的库中的代码创建绑定,但我碰壁了。我尝试绑定的 属性 是附加的 custom 属性。在 WPF 中,我可以将 DependencyProperty
本身作为绑定路径传递:
new PropertyPath(MyClass.MyAttachedProperty)
但在 WinRT 中 PropertyPath
class 只接受字符串。我试图像这样传递 属性 的名称:
new PropertyPath("(MyClass.MyAttachedProperty)")
但当然它不起作用,因为我的 class 不在默认命名空间中。在 XAML 中,我可以将命名空间映射到一个前缀并使用该前缀,但据我所知,不可能从代码中做到这一点。
有什么方法可以在代码中创建这个绑定吗?
好问题,经过研究和讨论,我们已经确认在 UWP 中,我们无法以编程方式绑定到自定义附加 属性。可惜了。
您可以通过 Windows 反馈工具提交添加此新功能以进行开发的请求。
看起来好像这里可能有一个解决方案,其中涉及使用 XamlReader.Load 和包含绑定的资源字典,让加载程序为您完成工作。