C# 带有转换器的复选框图像
是否有人可以帮助以下WPF-我有一个问题,能够绑定一个已知的图像名称到转换器,能够有一个复选框显示图像,而不是复选框 以下是我的静态资源:C# 带有转换器的复选框图像,c#,wpf,xaml,C#,Wpf,Xaml,是否有人可以帮助以下WPF-我有一个问题,能够绑定一个已知的图像名称到转换器,能够有一个复选框显示图像,而不是复选框 以下是我的静态资源: <converter:FilePathToImage x:Key="FileNameToImage" /> <system:String x:Key="ToggledOFFImagePath">ToggledOFF.png</system:String> <system:St
<converter:FilePathToImage x:Key="FileNameToImage" />
<system:String x:Key="ToggledOFFImagePath">ToggledOFF.png</system:String>
<system:String x:Key="ToggledONImagePath">ToggledON.png</system:String>
我已经尝试了很多不同的方法来实现这一点,但我尝试过的方法似乎都无法显示图像。问题是,我需要能够将该图像与属于不同项目(资源项目)的所有其他图像放在同一文件夹中。我已经用它绑定了项目中的其他东西,但没有使用静态资源。字符串是我绑定的对象的一部分。这是我第一次使用字符串的静态资源。绑定上的属性用于指定绑定对象中的属性路径
每个绑定通常有以下四个组件:绑定目标对象、目标属性、绑定源和绑定源中要使用的值的路径
如果使用静态资源进行绑定,请使用,例如:
如果你这样调整你的风格,它应该会起作用:
<Style TargetType="{x:Type CheckBox}" x:Key="partRRCheckbox">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type CheckBox}">
<StackPanel Orientation="Horizontal">
<Image x:Name="checkboxImage" Source="{Binding Source={StaticResource ToggledOFFImagePath}, Converter={StaticResource FileNameToImage}}" Width="50" Height="50"/>
<ContentPresenter/>
</StackPanel>
<ControlTemplate.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter TargetName="checkboxImage" Property="Source" Value="{Binding Source={StaticResource ToggledONImagePath}, Converter={StaticResource FileNameToImage}}"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
绑定上的属性用于指定绑定对象中的属性路径
每个绑定通常有以下四个组件:绑定目标对象、目标属性、绑定源和绑定源中要使用的值的路径
如果使用静态资源进行绑定,请使用,例如:
如果你这样调整你的风格,它应该会起作用:
<Style TargetType="{x:Type CheckBox}" x:Key="partRRCheckbox">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type CheckBox}">
<StackPanel Orientation="Horizontal">
<Image x:Name="checkboxImage" Source="{Binding Source={StaticResource ToggledOFFImagePath}, Converter={StaticResource FileNameToImage}}" Width="50" Height="50"/>
<ContentPresenter/>
</StackPanel>
<ControlTemplate.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter TargetName="checkboxImage" Property="Source" Value="{Binding Source={StaticResource ToggledONImagePath}, Converter={StaticResource FileNameToImage}}"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
的确如此!哦,天哪,我真不敢相信它这么简单,我重写了这么多次代码,试图让它正常工作。万分感谢!的确如此!哦,天哪,我真不敢相信它这么简单,我重写了这么多次代码,试图让它正常工作。万分感谢!
{Binding Source={StaticResource ToggledONImagePath}, Converter={StaticResource FileNameToImage}}
<Style TargetType="{x:Type CheckBox}" x:Key="partRRCheckbox">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type CheckBox}">
<StackPanel Orientation="Horizontal">
<Image x:Name="checkboxImage" Source="{Binding Source={StaticResource ToggledOFFImagePath}, Converter={StaticResource FileNameToImage}}" Width="50" Height="50"/>
<ContentPresenter/>
</StackPanel>
<ControlTemplate.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter TargetName="checkboxImage" Property="Source" Value="{Binding Source={StaticResource ToggledONImagePath}, Converter={StaticResource FileNameToImage}}"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>