我设计了一个 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>