如何在WPF的cs文件中定义图片RadioButton呢?
把图片加到了resource文件里面,希望在窗口中显示图片radiobutton,请问这样的radiobutton应该怎么定义呢?以下为处理的样式:
XML code
<RadioButton.Style> <Style TargetType="{x:Type RadioButton}"> <Style.Resources> <Style x:Key="CheckRadioFocusVisual"> <Setter Property="Control.Template"> <Setter.Value> <ControlTemplate> <Rectangle Margin="14,0,0,0" StrokeThickness="1" Stroke="Black" StrokeDashArray="1 2" SnapsToDevicePixels="true"/> </ControlTemplate> </Setter.Value> </Setter> </Style> </Style.Resources> <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"/> <Setter Property="Background" Value="Transparent"/> <Setter Property="BorderBrush" Value="#dddddd"/> <Setter Property="BorderThickness" Value="1"/> <Setter Property="HorizontalAlignment" Value="Center"/> <Setter Property="VerticalAlignment" Value="Center"/> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type RadioButton}"> <BulletDecorator Background="Transparent"> <BulletDecorator.Bullet> <!-- 这里是修改过的部分 开始 --> <Border Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" HorizontalAlignment="{TemplateBinding HorizontalAlignment}" VerticalAlignment="{TemplateBinding VerticalAlignment}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"> <Image x:Name="PART_Image" Width="12"> <Image.Source> <DrawingImage> <DrawingImage.Drawing> <GeometryDrawing Brush="OrangeRed" Geometry="M 0 0 L 3.5 4 L 7 0 Z"/> </DrawingImage.Drawing> </DrawingImage> </Image.Source> <Image.Effect> <DropShadowEffect BlurRadius="1" Opacity="0.75" ShadowDepth="0"/> </Image.Effect> </Image> </Border> <!-- 这里是修改过的部分 结束 --> </BulletDecorator.Bullet> <ContentPresenter Margin="{TemplateBinding Padding}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" RecognizesAccessKey="True"/> </BulletDecorator> <ControlTemplate.Triggers> <Trigger Property="HasContent" Value="true"> <Setter Property="FocusVisualStyle" Value="{StaticResource CheckRadioFocusVisual}"/> <Setter Property="Padding" Value="4,0,0,0"/> </Trigger> <Trigger Property="IsEnabled" Value="false"> <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}"/> </Trigger> <!-- 自定义触发器 开始 --> <Trigger Property="IsChecked" Value="true"> <Setter TargetName="PART_Image" Property="Source"> <Setter.Value> <DrawingImage> <DrawingImage.Drawing> <GeometryDrawing Brush="OrangeRed" Geometry="M 0,4 L 3.5,0 L 7,4 Z"/> </DrawingImage.Drawing> </DrawingImage> </Setter.Value> </Setter> </Trigger> <!-- 自定义触发器 结束 --> </ControlTemplate.Triggers> </ControlTemplate> </Setter.Value> </Setter> </Style> </RadioButton.Style>
时间: 2024-10-30 06:44:10