相关疑难解决方法(0)

如何在wpf中正确重用矢量图像

X问题:

我想在 WPF 中使用矢量图形。

我有一堆 SVG 文件,可以使用 Inkscape 将其转换为 XAML。生成的 xamlResourceDictionary包含ViewBox/CanvasPath。字典被合并到其中App.xaml,我可以使用 key 来访问它们。

问题:如何使用此类图像看来我没有正确使用它们。

这是我如何使用它们

<Viewbox Child="{StaticResource MyImageResourceKey}" Width="100" Height="100"/>
Run Code Online (Sandbox Code Playgroud)

但看起来我只能使用一次(在一个地方)!尝试同时在多个位置使用该图像将把它从以前的位置删除或抛出

System.ArgumentException:在附加到新的父 Visual 之前,必须断开指定的子 Visual 与当前父 Visual 的连接。

Y问题

我想显示矢量图像列表。我这样显示它们

<ItemsControl ItemsSource="{Binding Images}">
    <ItemsControl.ItemTemplate>
        <DataTemplate>
            <Viewbox Width="100" Height="100">
                <ContentPresenter Content="{Binding Image}"/>
            </Viewbox>
        </DataTemplate>
    </ItemsControl.ItemTemplate>
</ItemsControl> 
Run Code Online (Sandbox Code Playgroud)

视图模型

public class ViewModelSomeWindow : INotifyPropertyChanged
{
    public class MyImage
    {
        public object Image { get; set; }
    }

    private …
Run Code Online (Sandbox Code Playgroud)

c# wpf xaml vector-graphics

5
推荐指数
1
解决办法
1509
查看次数

标签 统计

c# ×1

vector-graphics ×1

wpf ×1

xaml ×1