我正在尝试设置按钮样式,以便在启用按钮而不是鼠标悬停时,它会显示默认图像,当按钮启用且鼠标悬停时,它会显示不同的图像,当它被禁用时(无论鼠标悬停)它会显示第三张图像。
我尝试遵循此答案,但是当我运行程序时,我收到Provide value on 'System.Windows.Baml2006.TypeConverterMarkupExtension' threw an exception.' Line number '47' and line position '45'.
错误,这相当于以下代码片段中<---
标识的行:
<!-- Edit Button using edit.png (pencil) -->
<Style x:Key="PencilEditEnabledButtonStyle" TargetType="{x:Type Button}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<Border HorizontalAlignment="Center"
VerticalAlignment="Center">
<!-- default image -->
<Image x:Name="ButtonImage"
Source="/myLibrary;component/Resources/edit.png"
Height="20"/>
</Border>
<ControlTemplate.Triggers>
<!-- update image on mouseover -->
<Trigger Property="IsMouseOver" Value="true">
<Setter TargetName="ButtonImage"
Property="Source"
Value="/myLibrary;component/Resources/edit_mouseover.png" />
</Trigger>
<!-- update image when button is disabled -->
<Trigger Property="IsEnabled" Value="true">
<Setter TargetName="ButtonImage" <---
Property="Source"
Value="/myLibrary;component/Resources/edit_disabled.png" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
这是否可能,如果是,我该如何纠正Style
.
您是否将
"资源"文件夹包含在项目中?
- 单击"解决方案资源管理器"中的"显示所有文件"图标。
- 右键单击新出现的"资源"文件夹。
- 单击"包含在项目中"。
- 重新生成并运行。