我设计了一个 UWP 应用程序,我很高兴使用新功能,例如x:Bind
和x:Phase
.
我有一个简单的模型(容器Grid
和StackPanel
省略):
<TextBlock Text="{x:Bind Title}" x:Phase="0" />
<TextBlock Text="{x:Bind Date}" x:Phase="1" />
<Ellipse Stretch="UniformToFill">
<Ellipse.Fill>
<ImageBrush ImageSource="{x:Bind Image}" />
</Ellipse.Fill>
</Ellipse>
所以我想x:Phase
为 image 指定,但由于明显的限制,我不能这样做:x:Phase
只为FrameworkElement
所以我不能指定ImageBrush
'sx:Phase
并且必须用它指定,x:Bind
所以我不能在Ellipse
.
x:Phase
与文本一起使用并允许首先加载图像很奇怪。如何解决这个问题?
UPD:有一个黑客!
x:Bind
通过假模型属性将任何不重要的属性设置为其默认值。一行代码而不是几十行。
<Ellipse Stretch="UniformToFill" CanDrag="{x:Bind PlaceholderCanDrag}" x:Phase="2">
<Ellipse.Fill>
<ImageBrush ImageSource="{x:Bind Image}" />
</Ellipse.Fill>
</Ellipse>