我想在我的Windows 8桌面应用程序中创建一个按钮,该按钮将包含图像和文本块。我必须使用C#编码。 我的代码如下,
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;
这不会出现任何错误,但图像未显示。如果我添加另一个文本块代替图像,则它会出现,但不是图像。
我错过了什么吗?请帮忙,谢谢。
答案 0 :(得分:0)
尝试按照以下方式构建按钮:
Button btn= new Button
{
Width = 30,
Height = 30,
Content = new Image
{
Source = new BitmapImage(@"C:\Users\Desktop\Images\download.jpg"))
}
};
答案 1 :(得分:0)
对于“缺失”图像,需要考虑以下几点:
当Xaml无法找到资源时,它可能会忽略它(当它不会抛出XamlParseException时)
必须正确添加和定义资源:
确保项目中存在预期的位置。
确保它是以项目作为资源构建的。
(右键单击 - >属性 - > BuildAction ='资源')
在类似情况下尝试的另一件事,对于重用图像(或任何其他资源)也很有用:
在Xaml中将图像定义为资源:
<UserCondrol.Resources>
<Image x:Key="MyImage" Source.../>
</UserControl.Resources>
And later use it in your desired control/controls:
<Button Content={StaticResource MyImage} />