Ваша техника будет зависеть от того, какой объект XAML создает ваш конвертер SVG в XAML. Это производит рисунок? Картинка? Сетка? Холст? Тропинка? Геометрия? В каждом случае ваша техника будет отличаться.
В примерах ниже я предполагаю, что вы используете свой значок на кнопке, что является наиболее распространенным сценарием, но обратите внимание, что те же методы будут работать для любого ContentControl.
Использование рисунка в качестве значка
Чтобы использовать чертеж, нарисуйте прямоугольник с размерами рисунка с помощью DrawingBrush:
<Button>
<Rectangle Width="100" Height="100">
<Rectangle.Fill>
<DrawingBrush>
<DrawingBrush.Drawing>
<Drawing ... /> <!-- Converted from SVG -->
</DrawingBrush.Drawing>
</DrawingBrush>
</Rectangle.Fill>
</Rectangle>
</Button>
Использование изображения в качестве значка
Изображение можно использовать напрямую:
<Button>
<Image ... /> <!-- Converted from SVG -->
</Button>
Использование сетки в качестве значка
Сетка может использоваться напрямую:
<Button>
<Grid ... /> <!-- Converted from SVG -->
</Button>
Или вы можете включить его в Viewbox, если вам нужно контролировать размер:
<Button>
<Viewbox ...>
<Grid ... /> <!-- Converted from SVG -->
</Viewbox>
</Button>
Использование Canvas в качестве иконки
Это похоже на использование изображения или сетки, но, поскольку холст не имеет фиксированного размера, вам нужно указать высоту и ширину (если они уже не установлены конвертером SVG):
<Button>
<Canvas Height="100" Width="100"> <!-- Converted from SVG, with additions -->
</Canvas>
</Button>
Использование пути в качестве иконки
Вы можете использовать Path, но вы должны установить обводку или заполнить явно:
<Button>
<Path Stroke="Red" Data="..." /> <!-- Converted from SVG, with additions -->
</Button>
или
<Button>
<Path Fill="Blue" Data="..." /> <!-- Converted from SVG, with additions -->
</Button>
Использование геометрии в качестве иконки
Вы можете использовать Path, чтобы нарисовать свою геометрию. Если это необходимо погладить, установите обводку:
<Button>
<Path Stroke="Red" Width="100" Height="100">
<Path.Data>
<Geometry ... /> <!-- Converted from SVG -->
</Path.Data>
</Path>
</Button>
или, если он должен быть заполнен, установите Fill:
<Button>
<Path Fill="Blue" Width="100" Height="100">
<Path.Data>
<Geometry ... /> <!-- Converted from SVG -->
</Path.Data>
</Path>
</Button>
Как связать данные
Если вы выполняете преобразование SVG -> XAML в коде и хотите, чтобы полученный XAML отображался с использованием привязки данных, используйте одно из следующих действий:
Привязка чертежа:
<Button>
<Rectangle Width="100" Height="100">
<Rectangle.Fill>
<DrawingBrush Drawing="{Binding Drawing, Source={StaticResource ...}}" />
</Rectangle.Fill>
</Rectangle>
</Button>
Связывание изображения:
<Button Content="{Binding Image}" />
Связывание сетки:
<Button Content="{Binding Grid}" />
Связывание сетки в окне просмотра:
<Button>
<Viewbox ...>
<ContentPresenter Content="{Binding Grid}" />
</Viewbox>
</Button>
Переплет холста:
<Button>
<ContentPresenter Height="100" Width="100" Content="{Binding Canvas}" />
</Button>
Привязка пути:
<Button Content="{Binding Path}" /> <!-- Fill or stroke must be set in code unless set by the SVG converter -->
Привязка геометрии:
<Button>
<Path Width="100" Height="100" Data="{Binding Geometry}" />
</Button>