Поддерживается ли SVG в приложении WPF (Core или Framework.net), и если нет, то когда? - PullRequest
0 голосов
/ 24 октября 2019

Вчера я тестировал поддержку SVG в приложении WPF (.Net Core 3.0 или / и .Net Framework 4.8), и ни один из них, похоже, не поддерживает тег Image xaml с ресурсом .svg, в то время как проект UWP его поддерживает.

Кто-нибудь знает, когда SVG будет поддерживаться в проекте WPF?

  • У меня VS VS 169.6 (самая последняя версия)
  • Я не хочу конвертировать его. Я бы хотел (предпочел) использовать ту же технологию, что и в UWP, где SVG отображается в Directx непосредственно ОС.
  • Я думал, что объединение .net framework в Core принесло бы нам поддержку SVG.

Пример кода WPF с .Net framework 4.8:

    <Window x:Class="WpfAppTestSvg.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:WpfAppTestSvg"
        mc:Ignorable="d"
        Title="MainWindow" Height="450" Width="800">
    <Grid>
        <Image Source="Images\w.svg" Width="200" Height="200"></Image>
    </Grid>
</Window>

Пример кода WPF с Core .Net 3.0

    <Window x:Class="WpfAppWithDotNetCore.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:WpfAppWithDotNetCore"
        mc:Ignorable="d"
        Title="MainWindow" Height="450" Width="800">
    <Grid>
        <Image Source="Images\w.svg"></Image>
    </Grid>
</Window>

1 Ответ

0 голосов
/ 14 ноября 2019

Посетите https://github.com/BerndK/SvgToXaml

, вы можете использовать SvtToXaml, чтобы получить DrawingImage, как это:

<DrawingImage x:Key="____3_01DrawingImage">
            <DrawingImage.Drawing>
                <DrawingGroup ClipGeometry="M0,0 V89 H230 V0 H0 Z">
                    <GeometryDrawing Brush="#FFD1D1D1" Geometry="F1 M230,89z M0,0z M222.5,80L222.5,80 14.1,80 14.1,77.6 15.1,77.6 15.1,79 221.5,79 221.5,11.6 215.8,11.6 215.8,10.6 222.5,10.6z" />
                    <DrawingGroup>
                        <GeometryDrawing Brush="#FF4AC0E0">
                            <GeometryDrawing.Geometry>
                                <RectangleGeometry RadiusX="0" RadiusY="0" Rect="9.7,7.7,209.3,69.9" />
                            </GeometryDrawing.Geometry>
                        </GeometryDrawing>
                    </DrawingGroup>
                </DrawingGroup>
            </DrawingImage.Drawing>
        </DrawingImage>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...