我正在动态创建银色灯光按钮
HistoryButtton = new Button();
HistoryButtton.Content = "History";
HistoryButtton.Height = GetPercentageValue(TotalHeight, 8);
HistoryButtton.Width = GetPercentageValue(TotalHeight, 15);
我试过这个解决方案
ImageBrush brush = new ImageBrush();
brush.ImageSource = new BitmapImage(new Uri(@"Images/history.png", UriKind.Relative));
HistoryButtton.Background = brush;
但它不起作用。 我也试过这个解决方案
Uri uri = new Uri("/Images/history.png", UriKind.Relative);
BitmapImage imgSource = new BitmapImage(uri);
Image image = new Image();
image.Source = imgSource;
HistoryButtton.Content = image;
但是这个解决方案也没有用。请帮帮我。谢谢。
答案 0 :(得分:0)
尝试将您的Uri第一个参数更改为这样 “/SolutionName;component/Images/history.png”
用您的解决方案名称替换SolutionName。
答案 1 :(得分:0)
这里的问题和其中一个答案帮助我解决了同样的问题,但我仍然在努力了一段时间(实际上,不止一段时间),因为我错过了一些非常简单的事情。以下是适用于我的完整代码:
Dim b As New Button
Dim uri As New Uri("/<project name>;component/<path to image>", UriKind.Relative)
Dim imgSource As New Imaging.BitmapImage(uri)
Dim image As New Image()
image.Source = imgSource
b.Content = image
有两件事让我无法早日解决这个问题:
<project name>
是图像所在项目的名称,可能与代码所在的项目不同。"component/"
是一个文字字符串(并不是项目中的文件夹)。我的图像文件的“构建操作”设置为“资源”。因此,如果你的项目名称是“MyProject”,你的图像名称是“MyImage.png”,图像位于“MyProject”中的“MyFolder”文件夹中,传递给Uri构造函数的正确字符串是:< / p>
"/MyProject;component/MyFolder/MyImage.png"