2016-09-27 2 views
1

Я знаю, что на этот вопрос уже был дан ответ, поскольку я следовал инструкциям этих ответов. У меня есть изображение .SVG значка, которое я пытаюсь преобразовать в пригодный для использования код XAML, я использую мои изображения, подобные этому;Преобразование SVG в XAML

<ControlTemplate x:Uid="ControlTemplate_9" x:Key="IconTemplate"> 
    <Viewbox xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" Stretch="Uniform"> 
    <Canvas Name="svg2" Width="24" Height="16" ToolTip="IconToolTip."> 
     <Canvas.RenderTransform> 
     <TranslateTransform X="0" Y="0"/> 
     </Canvas.RenderTransform> 
     <Canvas.Resources/> 
     <Path xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Name="path16" Fill="#FFFCF0F0"> 
     <Path.Data> 
      <PathGeometry Figures=" M 22.30" FillRule="NonZero"/> 
     </Path.Data> 
     </Path> 
    </Canvas> 
    </Viewbox> 
</ControlTemplate> 

Когда я взял эту систему, большинство из них уже были предоставлены, но моя проблема добавляет к ней больше. При использовании программы, такие как Inkscape или печать в формате PDF и открыть файл .fpage я получаю .xaml вдоль линий -

<?xml version="1.0" encoding="UTF-8"?> 
<!--This file is NOT compatible with Silverlight--> 
<Viewbox xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" Stretch="Uniform"> 
    <Canvas Name="svg2" Width="24" Height="16"> 
     <Canvas.RenderTransform> 
      <TranslateTransform X="0" Y="0"/> 
     </Canvas.RenderTransform> 
     <Canvas.Resources/> 
     <!--Unknown tag: metadata--> 
     <!--Unknown tag: sodipodi:namedview--> 
     <Rectangle xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Width="24" Height="16" RadiusX="4" RadiusY="4" Name="Rounded_Rectangle_1" Fill="#000000"/> 
     <Rectangle xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Canvas.Left="11" Canvas.Top="3" Width="2" Height="6" Name="rect9" Fill="#000000"/> 
     <Image xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Name="image11" Canvas.Left="11" Canvas.Top="11" Source="data:img/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACAQAAAABazTCJAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QAAKqNIzIAAAAJcEhZcwAACxIAAAsSAdLdfvwAAAAHdElNRQfgCRoPHAwMuTLjAAAADElEQVQI12M4wHAAAAMEAYHFO6KpAAAAAElFTkSuQmCC" Width="2" Height="2"/> 
    </Canvas> 
</Viewbox> 

Последний не будет компилировать и приводит к аварийному завершению программы. Таким образом, мое расширение на предыдущие вопросы было бы следующим: как я могу использовать последний XAML в своей кодовой базе без непосредственного изображения в папке проекта или как преобразовать это в доступные данные пути.

ответ

0

То, что я сделал, и который на самом деле работает отлично, чтобы удалить все части с XML:

<Viewbox Stretch="Uniform"> 
    <Canvas Name="svg2" Width="24" Height="16"> 
    <Canvas.RenderTransform> 
     <TranslateTransform X="0" Y="0"/> 
    </Canvas.RenderTransform> 
    <Canvas.Resources/> 
    <Rectangle Width="24" Height="16" RadiusX="4" RadiusY="4" Name="Rounded_Rectangle_1" Fill="#000000"/> 
    <Rectangle Canvas.Left="11" Canvas.Top="3" Width="2" Height="6" Name="rect9" Fill="#000000"/> 
    <Image Name="image11" Canvas.Left="11" Canvas.Top="11" Source="data:img/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACAQAAAABazTCJAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QAAKqNIzIAAAAJcEhZcwAACxIAAAsSAdLdfvwAAAAHdElNRQfgCRoPHAwMuTLjAAAADElEQVQI12M4wHAAAAMEAYHFO6KpAAAAAElFTkSuQmCC" Width="2" Height="2"/> 
    </Canvas> 
</Viewbox> 

И я добавил их к ResourceDictionary, поэтому они могут быть использованы во всем проекте.

<Viewbox x:Key="MyIcon" x:Shared="False" Stretch="Uniform"> 
    <Canvas Name="svg2" Width="24" Height="16"> 
    <Canvas.RenderTransform> 
     <TranslateTransform X="0" Y="0"/> 
    </Canvas.RenderTransform> 
    <Canvas.Resources/> 
    <Rectangle Width="24" Height="16" RadiusX="4" RadiusY="4" Name="Rounded_Rectangle_1" Fill="#000000"/> 
    <Rectangle Canvas.Left="11" Canvas.Top="3" Width="2" Height="6" Name="rect9" Fill="#000000"/> 
    <Image Name="image11" Canvas.Left="11" Canvas.Top="11" Source="data:img/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACAQAAAABazTCJAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QAAKqNIzIAAAAJcEhZcwAACxIAAAsSAdLdfvwAAAAHdElNRQfgCRoPHAwMuTLjAAAADElEQVQI12M4wHAAAAMEAYHFO6KpAAAAAElFTkSuQmCC" Width="2" Height="2"/> 
    </Canvas> 
</Viewbox> 
Смежные вопросы