Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何正确重用wpf中的矢量图像 X问题:_C#_Wpf_Xaml_Vector Graphics - Fatal编程技术网

C# 如何正确重用wpf中的矢量图像 X问题:

C# 如何正确重用wpf中的矢量图像 X问题:,c#,wpf,xaml,vector-graphics,C#,Wpf,Xaml,Vector Graphics,我想在WPF中使用矢量图形 我有很多SVG文件,我可以使用Inkscape将它们转换成XAML。生成的xaml是ResourceDictionary,其中ViewBox/Canvas包含路径,等等。字典被合并到App.xaml中,我可以使用键访问它们 问题:如何使用这些图像?看起来我没有正确使用它们 下面是我如何使用它们 <Viewbox Child="{StaticResource MyImageResourceKey}" Width="100" Height="100"/> 问

我想在WPF中使用矢量图形

我有很多SVG文件,我可以使用Inkscape将它们转换成XAML。生成的xaml是
ResourceDictionary
,其中
ViewBox
/
Canvas
包含
路径
,等等。字典被合并到
App.xaml
中,我可以使用键访问它们

问题:如何使用这些图像?看起来我没有正确使用它们

下面是我如何使用它们

<Viewbox Child="{StaticResource MyImageResourceKey}" Width="100" Height="100"/>
问题:对第二个项目使用相同的图像(
“MyImageResourceKey”
)时,第一个项目显示(空白)图像。如果图像已经在某处使用了
StaticResource
显示,则添加项将在
ArgumentException
上方抛出


注意:我需要解决
Y问题
,但可能我没有正确使用矢量图形。

请在路径中使用x:shared=false,如附图所示


也可以访问此链接

在路径中使用x:shared=false,也可以访问此链接。就是这样,非常感谢@HeNeaKiSurPall考虑将你的评论作为答案添加,因此问题可以被标记为答案。@ NawedNabiZada请检查答案。谢谢:
<ItemsControl ItemsSource="{Binding Images}">
    <ItemsControl.ItemTemplate>
        <DataTemplate>
            <Viewbox Width="100" Height="100">
                <ContentPresenter Content="{Binding Image}"/>
            </Viewbox>
        </DataTemplate>
    </ItemsControl.ItemTemplate>
</ItemsControl> 
public class ViewModelSomeWindow : INotifyPropertyChanged
{
    public class MyImage
    {
        public object Image { get; set; }
    }

    private ObservableCollection<MyImage> _images;
    public ObservableCollection<MyImage> Images
    {
        get { return _images; }
        set { _images = value; OnPropertyChanged(); }
    }
    ...
}
Images.Add(new MyImage() { Image = App.Current.Resources["MyImageResourceKey"] });