如何以编程方式更改边框背景图像

时间:2013-06-16 19:00:24

标签: wpf border imagebrush

我正在WPF中创建一个媒体播放器应用程序。 我正在使用Media Element来执行此操作。

无论如何,我曾使用<Border> </Border>在某些地方添加边框。

    <Border Name="hej1">
                <Border.Background>
                    <ImageBrush ImageSource="Images\music.png"  Stretch="None"/>
                </Border.Background>

                <MediaElement ..../> 
    </Border>

我想以编程方式将ImageSource更改为其他图片,怎么做?

我试过但没有成功。

因此,对于每首歌曲,<ImageBrush ImageSource="Images\music.png"中的图像都会发生变化。

提前致谢

沙菲

2 个答案:

答案 0 :(得分:1)

为ImageBrush指定名称:

<ImageBrush x:Name="imageBrush" ImageSource="Images\music.png" Stretch="None"/>

然后在代码中使用named成员:

var filename = @"Images\title.png";
imageBrush.ImageSource = new BitmapImage(new Uri(filename, UriKind.Relative));

或者只是将Border Background属性的值转换为ImageBrush类型:

var imageBrush = (ImageBrush)hej1.Background;
var filename = @"Images\title.png";
imageBrush.ImageSource = new BitmapImage(new Uri(filename, UriKind.Relative));

答案 1 :(得分:0)

BitmapImage img = new BitmapImage(new Uri(@"Images\myimage.png"));
ImageBrush image = new ImageBrush();
image.ImageSource = img;
Border.Background =image;