首页 > 代码库 > WPF 样式设计之——radioButton
WPF 样式设计之——radioButton
如何在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="http://www.mamicode.com/{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"/> <Setter Property="Background" Value="http://www.mamicode.com/Transparent"/> <Setter Property="BorderBrush" Value="http://www.mamicode.com/#dddddd"/> <Setter Property="BorderThickness" Value="http://www.mamicode.com/1"/> <Setter Property="HorizontalAlignment" Value="http://www.mamicode.com/Center"/> <Setter Property="VerticalAlignment" Value="http://www.mamicode.com/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="http://www.mamicode.com/true"> <Setter Property="FocusVisualStyle" Value="http://www.mamicode.com/{StaticResource CheckRadioFocusVisual}"/> <Setter Property="Padding" Value="http://www.mamicode.com/4,0,0,0"/> </Trigger> <Trigger Property="IsEnabled" Value="http://www.mamicode.com/false"> <Setter Property="Foreground" Value="http://www.mamicode.com/{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}"/> </Trigger> <!-- 自定义触发器 开始 --> <Trigger Property="IsChecked" Value="http://www.mamicode.com/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>
WPF 样式设计之——radioButton
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。