0

我有一个在 Windows 应用程序中使用的 WPF 自定义用户控件。控件有一个边框作为主元素,这个边框有一个默认的背景图片。下面的代码显示了如何将此图像设置为默认值。默认图像是资源元素 (Images/BlueRoad.jpg)。

我希望能够使用图像文件名作为字符串(例如“C:\Pictures\myCustomPic.bmp”)以编程方式更改边框背景的图像。我需要使用 Visual Basic 在代码隐藏中执行此操作,除非在 XAML 中有非常简单的方法可以执行此操作。无论哪种方式,图片都将加载到控件的启动代码中。

我对 WPF 了解不多,这只是应用程序的一小部分,因此希望尽可能简单快速地完成这项工作。

非常感谢!

<Border Name="mainBorder" Opacity="1" BorderBrush="SteelBlue" BorderThickness="3">
    <Border.Background>
        <ImageBrush  ImageSource="Images/BlueRoad.jpg"></ImageBrush>
    </Border.Background>

     Grid and other stuff goes here...

 </Border> 
4

2 回答 2

1
using System;
using System.Windows.Media;
using System.Windows.Media.Imaging;
...
var imagePath = @"pack://application:,,,/MyProject;component/Resources/BorderImage.png";
ImageBrush brush = new ImageBrush(new BitmapImage(new Uri(imagePath, UriKind.Absolute)));
MyBorder.Background = brush;
于 2017-01-05T01:44:57.473 回答
0

您可以使用 ImageBrush 和 BitmapImage 将画笔设置为边框背景首先您使用 uri 创建 BitmapImage 并将此 BitmapImage 发送到 ImageBrush 并将 ImageBrush 分配给边框背景

于 2011-12-08T20:39:08.383 回答