1

谁能阐明为什么以下代码不起作用?“不工作”是指图像未在全景控件中呈现:

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 属性设置为 Internet 上的公共 jpg 图像。

编辑

我也尝试将 RandomImage 属性更改为 ImageSource 但没有任何运气。

4

1 回答 1

1

我会冒险猜测您是RandomImage在页面加载后的某个时间点设置的,这意味着已经检查了绑定。您需要在 setter for 中实现INotifyPropertyChanged并调用您的PropertyChanged事件RandomImage。有关这方面的详细说明,请查看此 MSDN 文章

总而言之,当页面加载时会检查绑定,除非有什么触发它,否则不会再次检查。实现INotifyPropertyChanged意味着当你调用你的PropertyChanged事件时,它会通知 UI 再次检查绑定并查看有什么新内容,以便它可以自行更新。

于 2011-11-03T21:27:16.393 回答