是否可以在代码中 "x:Bind" a 属性 ?

Is it possible to "x:Bind" a property in code?

只是想知道,是否有一种方法可以使用 UWP 中的新 x:Bind 将控件的 属性 绑定到代码中的视图模型? SetBinding 方法可以使用旧方法。

嗯,首先 - WPF 不支持 {x:Bind}

其次 - 我不相信有或不需要有办法。 {x:Bind} 本质上是生成代码来更新绑定源和视图模型,所以如果你不想在 XAML 中使用 {x:Bind} - 你基本上要编写代码来更新当您的视图模型属性更改时您的视图属性,反之亦然。

如果您查看生成的代码(例如 obj\MainPage.g.cs)- 您将看到 XAML 中每个 {x:Bind} 的所有生成代码。我认为平台中仍然有一些东西需要让它与生成的代码一起工作,但如果你改为编写自己的代码 - 它可能比 XAML 编译器生成的代码更干净并且不需要为你做事的平台。

很简单 - 不,不是。

它是编译型和强类型绑定,所以它是在编译期间而不是在运行时转换为代码的。

在代码隐藏中创建绑定的主要原因可能是一些动态更改,或者例如循环生成一些控件并使用绑定设置它们的属性。但这是不可能的,因为 x:Bind 无法在运行时修改,所以这可能是无法在代码隐藏中编辑它的原因。