【发布时间】:2021-03-18 04:37:59
【问题描述】:
如何在 C# 的 WPF 窗口中将.svg 文件添加为图像 (,png || ,jpg)?
我用代码
<Image HorizontalAlignment="Left" Height="53" Margin="34,39,0,0"
VerticalAlignment="Top" Width="71"
Source="Test.svg" Name="MyImage"/>
但我得到一个错误:
Blend 不支持 svg 格式。
我发现我可以将.svg 文件更改为.xaml 文件。但我仍然不知道如何将 xaml 添加为图像。
根据一个答案,我改变了我的代码:
<Window x:Class="NIA_UI_Demo_CSharp.ShareDocumentsWin"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:svgc="http://sharpvectors.codeplex.com/svgc/"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="ShareDocumentsWin" Height="350" Width="569">
<ResourceDictionary>
<Style x:Key="TheAwesomeXAMLimage" TargetType="ContentControl">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ContentControl">
my code
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ResourceDictionary>
<Grid Margin="0,0,2,3">
<ContentControl Style="{StaticResource TheAwesomeXAMLimage}"/>
</Grid>
</Window>
但我得到一个错误:
内容设置不止一次;
【问题讨论】:
-
就个人而言,对于 SVG,我只是将它们导出到 XAML,但它不再是
Image,它通常是在画布或其他东西中的矢量数据,但您仍然可以通过将它们重新使用等ContentControl 或类似内容中的数据 -
@ChrisW。如何将 xml 添加为画布 ||内容控制?我在这两个里面找不到Source?仅 SourceUpdate
-
只需从 .svg 中获取导出的 XAML,然后您可以使用 old answer here 并将其粘贴到“只需将您的 xaml 粘贴到此处”的位置,然后按照其余部分进行操作,没问题.不过,我不确定您所说的“来源”是什么意思。
-
@ChrisW。非常感谢。我改变了我的代码,就像我在上面编辑的问题一样。我得到一个错误:内容设置不止一次;你知道为什么吗?
-
@ChrisW。我发现哪里错了,谢谢。