【发布时间】:2021-01-05 18:54:25
【问题描述】:
我正在尝试制作一个切换按钮样式,允许切换按钮在选中/取消选中时显示 2 个不同的图像。在设计预览中,我可以在切换按钮中看到图像,但在运行时图像根本不显示。我一直在使用资源作为构建操作并复制到输出目录,但它没有帮助。 代码如下:
<Window.Resources>
<Image Source="Images/pencil.png" x:Key="PencilImage"></Image>
<Image Source="Images/eraser.png" x:Key="EraserImage"></Image>
<Style TargetType="{x:Type ToggleButton}"
x:Key="ImageButton">
<Setter Property="Background" Value="Transparent"></Setter>
<Setter Property="Content"
Value="{DynamicResource PencilImage}" />
<Style.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter Property="Content" Value="{DynamicResource EraserImage}"/>
</Trigger>
<Trigger Property="IsChecked" Value="False">
<Setter Property="Content" Value="{DynamicResource PencilImage}"/>
</Trigger>
</Style.Triggers>
</Style>
</Window.Resources>
...
<Border Grid.Row="7" Grid.Column="1" Grid.ColumnSpan="2" Height="25" Width="25">
<ToggleButton Style="{StaticResource ImageButton}" Height="25" Width="25"/>
</Border>
【问题讨论】:
-
当 Build Action 为 Resource 时,不需要复制到输出目录。图像文件是否包含在名为 Images 的项目文件夹中?你为什么使用动态资源?试试 StaticResource 是否有效。
-
问题不可重现,即样式按预期工作。
-
静态资源也不起作用
-
我们不能告诉你更多。如前所述,您在此处显示的内容很有效。
-
还有其他可能导致此错误的原因吗?