RadioButton改造成ImageButton,解决RadioButton没有选中状态
来源:互联网 发布:凸的网络意思是什么 编辑:程序博客网 时间:2024/05/23 20:50
<!--RadioButton改造成ImageButton,解决RadioButton没有选中状态 add by yangxp@20170627-->
<Style x:Key="RDOButton" TargetType="{x:Type RadioButton}">
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"/>
<Setter Property="Background" Value="White"/>
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="Cursor" Value="Hand"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type RadioButton}">
<ControlTemplate.Resources>
<Storyboard x:Key="Storyboard1" AutoReverse="False">
<!--AutoReverse表示动画是否正序运行后再反序运行-->
<!--BeginTime设置动画起始时间点 Duration表示动画运行周期时长 FillBehavlor设置一个值,该值指定动画在运行周期结束后的行为方式,默认为HoldEnd。简单来说就是保留值-->
<ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(Panel.Background).(SolidColorBrush.Color)" Storyboard.TargetName="bd" >
<EasingColorKeyFrame KeyTime="0" Value="White"/>
<EasingColorKeyFrame KeyTime="0:0:0.3" Value="#FFAFAFAF"/>
</ColorAnimationUsingKeyFrames>
</Storyboard>
<Storyboard x:Key="Storyboard2">
<ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(Panel.Background).(SolidColorBrush.Color)" Storyboard.TargetName="bd">
<EasingColorKeyFrame KeyTime="0" Value="#FFAFAFAF" />
<EasingColorKeyFrame KeyTime="0:0:0.5" Value="#D3D3D3"/>
</ColorAnimationUsingKeyFrames>
</Storyboard>
</ControlTemplate.Resources>
<BulletDecorator Background="Transparent">
<Border x:Name="bd" HorizontalAlignment="Center" Background="White" CornerRadius="5">
<Border.OpacityMask><!--透明掩码-->
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="Black" Offset="0"/>
<GradientStop Color="White" Offset="1"/>
</LinearGradientBrush>
</Border.OpacityMask>
<!--<Border x:Name="dd" Height="60" Width="50" >-->
<StackPanel x:Name="stack" HorizontalAlignment="Center" Height="{TemplateBinding Height}" Width="{TemplateBinding Width}"
Margin="{TemplateBinding Padding}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}">
<Image Width="35" Height="35" Margin="0,5" Source="/Images/zongfen.png"/>
<TextBlock HorizontalAlignment="Center"><Run Text="测试"/></TextBlock>
</StackPanel>
<!--<Border.RenderTransform>
<TransformGroup>
<ScaleTransform/>
<SkewTransform/>
<RotateTransform/>
<TranslateTransform/>
</TransformGroup>
</Border.RenderTransform>
</Border>-->
<!--<ContentPresenter Width="{TemplateBinding Width}" Height="{TemplateBinding Height}"
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" RecognizesAccessKey="True" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>-->
</Border>
</BulletDecorator>
<ControlTemplate.Triggers>
<Trigger Property="IsEnabled" Value="false">
<Setter TargetName="bd" Property="Background" Value="gray" />
</Trigger>
<Trigger Property="IsChecked" Value="false">
<Setter TargetName="bd" Property="Background" Value="{x:Null}" />
</Trigger>
<Trigger Property="IsChecked" Value="true">
<Trigger.EnterActions>
<BeginStoryboard x:Name="Storyboard2_BeginStoryboard" Storyboard="{StaticResource Storyboard2}"/>
</Trigger.EnterActions>
<!--<Setter TargetName="bd" Property="Background" Value="#FF606060" />
<Setter Property="RenderTransform" TargetName="stack">
<Setter.Value>
<TransformGroup>
<ScaleTransform ScaleX="1.05" ScaleY="1.05"/>
<SkewTransform/>
<RotateTransform/>
<TranslateTransform/>
</TransformGroup>
</Setter.Value>
</Setter>-->
</Trigger>
<MultiTrigger>
<MultiTrigger.EnterActions>
<BeginStoryboard Storyboard="{StaticResource Storyboard1}"/>
</MultiTrigger.EnterActions>
<MultiTrigger.Conditions>
<Condition Property="IsMouseOver" Value="True"/>
<Condition Property="IsChecked" Value="False"/>
</MultiTrigger.Conditions>
<Setter TargetName="bd" Property="Background" Value="Red" />
</MultiTrigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<RadioButton Width="80" Height="70" Margin="2,5" VerticalAlignment="Center" Cursor="Hand" Name="yingyetingToolBarButton" Click="YingyetingToolBarButton_Click" Style="{DynamicResource RDOButton}" SnapsToDevicePixels="True">
</RadioButton>
<RadioButton Width="80" Height="70" Margin="2,5" VerticalAlignment="Center" Cursor="Hand" Name="yingyetingToolBarButton1" Click="YingyetingToolBarButton_Click" Style="{DynamicResource RDOButton}" SnapsToDevicePixels="True">
</RadioButton>
<RadioButton Width="80" Height="70" Margin="2,5" VerticalAlignment="Center" Cursor="Hand" Name="yingyetingToolBarButton2" Click="YingyetingToolBarButton_Click" Style="{DynamicResource RDOButton}" SnapsToDevicePixels="True">
</RadioButton>
- RadioButton改造成ImageButton,解决RadioButton没有选中状态
- RadioButton 的选中状态shape
- RadioButton选中
- RadioButton自定义图标跟选中文本状态
- radiobutton赋选中值
- RadioButton选中效果实现
- RadioButton是否被选中
- android 自定义 radiobutton 文字颜色随选中状态而改变
- android 自定义 radiobutton 文字颜色随选中状态而改变
- android 自定义 radiobutton 文字颜色随选中状态而改变
- android 自定义 radiobutton 文字颜色随选中状态而改变
- android 自定义 radiobutton 文字颜色随选中状态而改变
- android 自定义 radiobutton 文字颜色随选中状态而改变
- Android Radiobutton 文字颜色随选中状态而改变
- android 自定义 radiobutton 文字颜色随选中状态而改变
- android 自定义 radiobutton 文字颜色随选中状态而改变
- 关于RadioGroup中的radiobutton选中状态保存的问题!!
- Android仿CheckBox可以取消选中状态的RadioButton
- 如何优雅的使用telnet测试端口连通性
- C++容器类库-2017-7-18
- CLIP STUDIO PAINT v1.6.5汉化中文版
- LINUX内核链表
- VS2008加载dll的方式
- RadioButton改造成ImageButton,解决RadioButton没有选中状态
- Servlet学习笔记
- lintcode--三数之和
- android studio 编译工程一直building gradle info...
- 每天五分钟linux(2)-cd
- Java中的类
- tomcat应用启动异常:Exception loading sessions from persistent storage
- HDU 4857 逃生(逆向拓扑求最小靠前)
- django 实践后的问题总结