任何人都可以解释为什么以下代码不起作用? “不工作”是指图像不在Panorama控件中呈现:
XAML
DataContext="{Binding RelativeSource={RelativeSource Self}}"
shell:SystemTray.IsVisible="False">
<Grid x:Name="LayoutRoot">
<controls:Panorama Title="My Control">
<controls:Panorama.Background>
<ImageBrush ImageSource="{Binding RandomImage}"/>
</controls:Panorama.Background>
C#
public string RandomImage { get; set; }
注意: RandomImage属性设置为互联网上的公共jpg图像。
修改
我也尝试将RandomImage属性更改为ImageSource,但没有任何运气。
答案 0 :(得分:1)
我猜测你在页面加载后的某个时刻设置了RandomImage
,这意味着已经检查了绑定。您需要实施INotifyPropertyChanged
并在PropertyChanged
的设置器中调用RandomImage
事件。有关详细说明,请查看this MSDN article。
它的长短是在页面加载时检查绑定,然后再次检查绑定,除非触发它。实现INotifyPropertyChanged
意味着当您调用PropertyChanged
事件时,它会通知用户界面再次检查绑定并查看新内容,以便自行更新。