C# 使用转换器的WPF SVG图像绑定
我想从以下位置更改图像源:C# 使用转换器的WPF SVG图像绑定,c#,wpf,svg,binding,ivalueconverter,C#,Wpf,Svg,Binding,Ivalueconverter,我想从以下位置更改图像源: <Image Source="{svg:SvgImage image.svg}"/> 这不起作用,我怀疑is与svg:SvgImage和绑定MyEnumProperty组合在同一语句中有关 我得到以下错误: The member "Converter" is not recognized or is not accessible. 及 问题: 正确的方法是什么?表达式 {svg:SvgImage Binding MyEnumProperty ...}
<Image Source="{svg:SvgImage image.svg}"/>
这不起作用,我怀疑is与svg:SvgImage
和绑定MyEnumProperty
组合在同一语句中有关
我得到以下错误:
The member "Converter" is not recognized or is not accessible.
及
问题:
正确的方法是什么?表达式
{svg:SvgImage Binding MyEnumProperty ...}
无效的XAML,并且由于SvgImage是标记扩展,因此无法绑定其属性
但是,您可以在图像样式中使用DataTriggers,而不是与转换器绑定:
<Image>
<Image.Style>
<Style TargetType="Image">
<Style.Triggers>
<DataTrigger Binding="{Binding MyEnumProperty}" Value="Value1">
<Setter Property="Source" Value="{svg:SvgImage image1.svg}"/>
</DataTrigger>
<DataTrigger Binding="{Binding MyEnumProperty}" Value="Value2">
<Setter Property="Source" Value="{svg:SvgImage image2.svg}"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Image.Style>
</Image>
是否可以使数据触发器成为动态的?如果我有另一个属性
MyTherenumProperty
,并且我想对其使用相同的触发器,我可以更改数据触发器以处理这两个属性吗?
The property 'Converter' was not found in type 'SvgImageExtension'.
{svg:SvgImage Binding MyEnumProperty ...}
<Image>
<Image.Style>
<Style TargetType="Image">
<Style.Triggers>
<DataTrigger Binding="{Binding MyEnumProperty}" Value="Value1">
<Setter Property="Source" Value="{svg:SvgImage image1.svg}"/>
</DataTrigger>
<DataTrigger Binding="{Binding MyEnumProperty}" Value="Value2">
<Setter Property="Source" Value="{svg:SvgImage image2.svg}"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Image.Style>
</Image>