【发布时间】:2020-07-26 12:38:05
【问题描述】:
我有一个复选框,我用自定义图像设置样式。 我需要在运行时选择一个图像,具体取决于主题。 我只想更改图像而不是所有模板。 这是我的复选框模板:
<Style TargetType="{x:Type CheckBox}" x:Key="FlatCheckbox">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type CheckBox}">
<StackPanel Orientation="Horizontal">
<Image x:Name="checkboxImage" Source="/checked.png" Width="32"/>
<ContentPresenter/>
</StackPanel>
<ControlTemplate.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter TargetName="checkboxImage" Property="Source" Value="/unchecked.png"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
所以我只想从 ResourceDictionary 中获取 checkboxImage 的 Source 的路径(我可以在运行时选择它。) 例如,如果我可以在 ResourceDictionary 中放置一个关键 ImagePath 并使用类似这样的东西
<Image x:Name="checkboxImage" Source="{ImagePath}" Width="32"/>
如何做到这一点?
【问题讨论】: