1) переделайте/сконвертируйте изображение так, чтобы это был Drawing:
<GeometryDrawing Brush="#FF8B0000">
<GeometryDrawing.Geometry>
<PathGeometry ....... />
</GeometryDrawing.Geometry>
</GeometryDrawing>
Если PathGeometry несколько, используйте DrawingGroup.
2) поместите полученный XAML в ресурсы;
3) попробуйте мой велосипед для того, чтобы поместить изображение в кнопку:
<Image Source="{Binding Source=путь_к/картинке.xaml, Converter={StaticResource ResourceUriToDrawingImageConverter}}" />
Код конвертера:
public class ResourceUriToDrawingImageConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
Uri uri =
value is Uri ?
value as Uri :
value is string ?
new Uri(value as string, UriKind.RelativeOrAbsolute) :
null;
if (uri == null)
{
throw new Exception("Invalid URI value");
}
StreamResourceInfo sri = Application.GetResourceStream(uri);
if (sri == null)
{
throw new Exception("Resource not found");
}
using (Stream stream = sri.Stream)
{
var drawing = XamlReader.Load(stream) as Drawing;
if (drawing == null)
{
throw new Exception("Resource cannot be converted to drawing");
}
return new DrawingImage(drawing);
}
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}
P.S. Следите за репой
https://github.com/Nipheris/SharpVectors.MSBuild - там скоро появятся MSBuild-таски для конвертирования SVG прямо во время сборки проекта.