我正在尝试使用.svg作为复选框的图标。尝试执行此操作时出现运行时错误。如果有人可以帮助我,将不胜感激。
错误:
System.Windows.Markup.XamlParseException:'无法投射以下对象 输入'System.Windows.Controls.Image'进行输入 'System.Windows.Media.ImageSource'。']
<Image x:Key="DefaultState" Source="Images/defaultState.svg"></Image>
<Image x:Key="Selected" Source="Images/selected.svg"></Image>
<Image x:Key="OnHover" Source="Images/onHover.svg.svg"></Image>
<Style TargetType="{x:Type CheckBox}" x:Key="GreenCheckBox">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type CheckBox}">
<StackPanel Orientation="Horizontal">
<Image x:Name="checkboxImage" Source="{DynamicResource DefaultState}" Width="15"/>
<ContentPresenter/>
</StackPanel>
<ControlTemplate.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter TargetName="checkboxImage" Property="Source" Value="{DynamicResource Selected}"/>
</Trigger>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsMouseOver" Value="True"/>
<Condition Property="IsChecked" Value="False"/>
</MultiTrigger.Conditions>
<Setter TargetName="checkboxImage" Property="Source" Value="{DynamicResource OnHover}"/>
</MultiTrigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>