【问题标题】:Image was not loaded sometimes properly from Assets folder in UWP?有时无法从 UWP 中的 Assets 文件夹正确加载图像?
【发布时间】:2022-01-21 10:20:01
【问题描述】:

我有我的 OwnControl(userControl)。在该控件中,我有一个图像元素 (RangeSelectionIcon)。 我为此 UserControl 创建了 3 个新对象,并将此控件添加到我的 Page 中的 StackPanel。图像不会正确加载到所有 3 个 userControls。大多数情况下,图像仅为一个控件加载,另外两个是未加载。图像路径也正确给出。不知道是什么问题?我的完整项目link(Source Code)

【问题讨论】:

    标签: c# image uwp uwp-xaml


    【解决方案1】:

    有时无法从 UWP 的 Assets 文件夹中正确加载图像?

    我们可以重现您的问题,看起来 SvgImageSource 未正确呈现。对于这种情况,我们有一个解决方法,RasterizePixel 并重新渲染 svg。在测试过程中,它可以正常工作,请参考以下代码。

    <Style x:Key="RangeSelectionIconStyle" TargetType="Image">
        <Setter Property="Width" Value="20" />
        <Setter Property="Height" Value="20" />
        <Setter Property="Margin" Value="6,5,6,0" />
        <Setter Property="Source">
            <Setter.Value>
                <SvgImageSource
                    RasterizePixelHeight="20"
                    RasterizePixelWidth="20"
                    UriSource="ms-appx:///Assets/SelectRange.svg" />
            </Setter.Value>
        </Setter>
    </Style>
    

    【讨论】:

    • 是的,它的工作。但什么是 RasterizationPixel ?如果我将 RasterizationPixel Width 和 height 设置为 20 。图像看起来不像 20x20 ?如果我增加 RasterizationPixel 宽度和高度,图像尺寸会减小吗?你能解释一下吗,它是如何工作的?
    • 用于 SVG 解码操作的大小(以逻辑像素为单位),更多请document
    猜你喜欢
    • 1970-01-01
    • 2012-07-28
    • 2015-04-18
    • 1970-01-01
    • 2017-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多