将图像添加到WPF C#中的按钮,图像不显示
我想在我的windows 8桌面应用程序中创建一个按钮,它将有一个图像和一个文本块。我必须使用C#编码来实现这一点。 我的代码如下:将图像添加到WPF C#中的按钮,图像不显示,c#,wpf,C#,Wpf,我想在我的windows 8桌面应用程序中创建一个按钮,它将有一个图像和一个文本块。我必须使用C#编码来实现这一点。 我的代码如下: Button btn = new Button(); StackPanel btnContentPanel = new StackPanel(); btnContentPanel.Orientation = Orientation.Horizontal;
Button btn = new Button();
StackPanel btnContentPanel = new StackPanel();
btnContentPanel.Orientation = Orientation.Horizontal;
Image img = new Image();
img.Source = new BitmapImage(newUri(@"C:\Users\Desktop\Images\download.jpg"));
img.Stretch = Stretch.Uniform;
btnContentPanel.Children.Add(img);
TextBlock txBlock = new TextBlock();
txBlock.Text = "My Button";
btnContentPanel.Children.Add(txBlock);
btn.Content = btnContentPanel;
这不会给出任何错误,但图像不会显示。如果我添加另一个文本块来代替图像,那么它就会出现,而不是图像
我遗漏了什么吗?请帮助,谢谢。尝试按如下方式构建按钮:
Button btn= new Button
{
Width = 30,
Height = 30,
Content = new Image
{
Source = new BitmapImage(@"C:\Users\Desktop\Images\download.jpg"))
}
};
在“丢失”图像的情况下,需要考虑以下几点: 当Xaml找不到资源时,它可能会忽略它(当它不会抛出XamlParseException时) 必须正确添加和定义资源: 确保它存在于项目中预期的位置 确保它是以您的项目作为资源构建的 (右键单击->属性->BuildAction='Resource') 在类似情况下还需要尝试另一件事,这对于重用映像(或任何其他资源)也很有用: 将图像定义为Xaml中的资源:
<UserCondrol.Resources>
<Image x:Key="MyImage" Source.../>
</UserControl.Resources>
And later use it in your desired control/controls:
<Button Content={StaticResource MyImage} />
然后在所需的控件中使用它:
图像位于正确的位置。我签入了构建操作,构建操作是“内容”。我改为“嵌入式资源”,因为我找不到“资源”选项。但它仍然不起作用。基本上,我的按钮是动态创建的,其内容是动态设置的。所以我试着通过StackPanel放置文本和图像。唯一的问题是图像。请将其添加到您的资源代码应按原样工作。您应该检查的事项:尝试不同的图像。如果这样做有效,那么图像文件本身可能就是问题的根源。您的应用程序中是否定义了任何样式?也许有什么东西,设置-例如-该图像的可见性隐藏或折叠。。。