0

我对 UWP 和绑定非常陌生,但我相信我正在弄清楚并取得进展。但是,我不确定在设计模式下使用 x:bind 时是否做错了什么。当我绑定到我的视图模型时,它在应用程序运行时完美运行,但在设计模式下,元素内容,无论是 TextBlock 文本、按钮文本等,都会变为空。这使得设计变得非常困难,因为我不知道页面上所有内容的实际位置,并且元素大小往往会下降到零,因此很难点击或移动它们。

微软在这里说“......但是如果你使用 {x:Bind} 那么你的绑定至少会在设计表面上显示占位符值(即使是项目控件),所以你对样本数据的需求并不完全相同。” 但我没有得到任何占位符数据。

这是元素的典型行:

<TextBlock x:Name="ItemCountLabel" Text="{x:Bind Path=ViewModel.ItemCountText, Mode=OneWay}"/>

我已经尝试了一些方法来使某些东西起作用,例如使用后备值,但我似乎无法找到一种使用占位符文本的方法。有这样的事吗?难道我做错了什么?或者这就是它的方式。

任何帮助表示赞赏。

4

1 回答 1

1

使用 x:Bind 绑定时 UWP 没有元素内容或文本

恐怕您无法使用 x:Bind 显示设计数据因为 x:Bind 不支持设计时数据。{x:Bind}并且由和创建的绑定对象在{Binding}功能上基本上是等效的。但是{x:Bind}执行专用代码,它在编译时生成,这意味着FallbackValue指定在无法解析源或路径时显示的值。)如果绑定路径被解析,属性无法预测。

对于该场景,我们建议在设计时使用BindingFallbackValue,如下所示。

<TextBlock Foreground="Red" x:Name="ItemCountLabel" Text="{Binding ItemCountText,FallbackValue='Test Value', Mode=OneWay}"/>
于 2020-08-17T08:48:39.543 回答