0

我正在尝试使用 XAML-Island(UWP 的图像和 SVGImageSource)在 WPF 中显示 SVG 图像。但不知何故,只有当我将 URI 源作为位于磁盘中的图像的硬编码路径提供时,它才能工作,但是当我提供包含在我的 Project->Assets 文件夹中的 URI 源时,图像没有显示。

这是我正在尝试的代码。

private void WindowsXamlHostImage_ChildChanged(object sender, System.EventArgs e)
{
    var host = (WindowsXamlHost)sender;
    var image = host.Child as Windows.UI.Xaml.Controls.Image;
    if (image != null)
    {
        image.Width = 100;
        image.Height = 100;
        var hardCodedURI = new Uri(@"C:\Users\nbada\source\repos\WPF_UWP_Sample\WPF_UWP_Sample\Assets\CSV_Black.svg");
        var uriIncludedinProject = new Uri(@"pack://application:,,,/Assets/CSV_Black.svg");
        var uriIncludedinProject1 = new Uri(@"ms-appx:///Assets/CSV_Black.svg");
        var uriIncludedinProject2 = new Uri(@"ms-resource:///Files/Assets/CSV_Black.svg");
        var svgSource = new SvgImageSource(hardCodedURI) { RasterizePixelHeight = image.Height * 2, RasterizePixelWidth = image.Width * 2 };
        image.Source = svgSource;
    }
}

只有 hardCodedURI 工作,除了三个不工作。

4

0 回答 0