C# 在WPF按钮中添加图像
我尝试了这个解决方案:C# 在WPF按钮中添加图像,c#,wpf,image,button,C#,Wpf,Image,Button,我尝试了这个解决方案: <Button> <StackPanel> <Image Source="Pictures/img.jpg" /> <TextBlock>Blablabla</TextBlock> </StackPanel> </Button> 我在PresentationFramework.dll中得到一个“'System.Windows.Markup.
<Button>
<StackPanel>
<Image Source="Pictures/img.jpg" />
<TextBlock>Blablabla</TextBlock>
</StackPanel>
</Button>
我在PresentationFramework.dll中得到一个“'System.Windows.Markup.XamlParseException”异常
解决方案是什么?请尝试以下XAML代码片段:
<Button Width="300" Height="50">
<StackPanel Orientation="Horizontal">
<Image Source="Pictures/img.jpg" Width="20" Height="20"/>
<TextBlock Text="Blablabla" VerticalAlignment="Center" />
</StackPanel>
</Button>
使用:
它应该会起作用。但请记住,您必须将图像添加到项目的资源中 在“丢失”图像的情况下,需要考虑以下几点:
XamlParseException
)- 确保它存在于项目中预期的位置。
- 确保它是以您的项目作为资源构建的。 (右键单击→ 性质→ BuildAction='Resource')
然后在所需控件中使用它:
如果要覆盖文本,可以将按钮的背景设置为图像
<Button>
<Button.Background>
<ImageBrush ImageSource="/AssemblyName;component/Pictures/img.jpg"/>
</Button.Background>
<TextBlock>Blablabla</TextBlock>
</Button>
喋喋不休
注意图像源语法。请参阅以获取帮助。尝试内容模板:
<Button Grid.Row="2" Grid.Column="0" Width="20" Height="20"
Template="{StaticResource SomeTemplate}">
<Button.ContentTemplate>
<DataTemplate>
<Image Source="../Folder1/Img1.png" Width="20" />
</DataTemplate>
</Button.ContentTemplate>
</Button>
我也有同样的问题。我已经用下面的代码修复了它
<Button Width="30" Margin="0,5" HorizontalAlignment="Stretch" Click="OnSearch" >
<DockPanel>
<Image Source="../Resources/Back.jpg"/>
</DockPanel>
</Button>
注意:确保属性窗口中图像的生成操作应为Resource
我发现我还必须将设置为“公共”-默认设置为“内部”,我的图标仅在设计模式下出现,但在运行应用程序时不出现。您的图像在其属性中是否定义为“资源”?(右键单击它->属性->构建操作class='Resource')谢谢!您将我放在了正确的方向上:我在解决方案资源管理器中拖放了该图像,现在我可以看到它:)我认为您必须使用双引号,例如而不是content={…}。源路径可以尝试。我尝试了第二种方法,但遇到了此错误。“在类型‘UserControl’中找不到可附加属性‘Resources’。”我应该为sometemplate填写什么?如果您没有使用
Template
,可以删除Template=“{StaticResource sometemplate}”
,如果您想知道模板是什么,可以尝试用谷歌wpf Template
<Button>
<Button.Background>
<ImageBrush ImageSource="/AssemblyName;component/Pictures/img.jpg"/>
</Button.Background>
<TextBlock>Blablabla</TextBlock>
</Button>
<Button Grid.Row="2" Grid.Column="0" Width="20" Height="20"
Template="{StaticResource SomeTemplate}">
<Button.ContentTemplate>
<DataTemplate>
<Image Source="../Folder1/Img1.png" Width="20" />
</DataTemplate>
</Button.ContentTemplate>
</Button>
<Button Width="30" Margin="0,5" HorizontalAlignment="Stretch" Click="OnSearch" >
<DockPanel>
<Image Source="../Resources/Back.jpg"/>
</DockPanel>
</Button>