最近做一个项目,需要在后台支持修改前台背景。

想了一下,去论坛提问了,有人给了解决方案。还是挺有意思的。记录下来分享。

首先,在前台给ImageBrush命名一个X:Name,方便后台调用。例如:

<Grid x:Name="LayoutRootPivot">
        <Grid.Background>
            <ImageBrush x:Name="PivotImage" Stretch="Fill" />
        </Grid.Background>


然后,在后台修改它的ImageSource。这里我遇到一个问题,不知道给ImagesSource赋什么类型的值。后来去MSDN查了一下,

有这么一段话:

这样接下来会从该 URI 请求流,并返回图像源对象。

所以我就试着这样写:

PivotImage.ImageSource =new BitmapImage(new Uri("/Images/Background.jpg“));

运行没问题,但是找不到图片,没任何显示。于是我又想了一下。发现我我忘记了告诉系统路径是绝对还是相对,

然后改为这样:

PivotImage.ImageSource =new BitmapImage(new Uri("/Images/Background.jpg",UriKind.RelativeOrAbsolute));

运行,成功了。

相关文章: