WPF利用radiobutton制作菜单按钮
2017-02-22 10:53
465 查看
实现功能:鼠标移入和选中高亮显示,话不多说,直接上样式。
样式:
<!--========================================================RadioButton 样式 通用====================================--> <Style x:Key="Tong_Yong_RadioButtonStyle" TargetType="{x:Type RadioButton}"> <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"/> <!--<Setter Property="Background" Value="#F4F4F4"/> <Setter Property="BorderBrush" Value="{StaticResource CheckBoxStroke}"/>--> <Setter Property="BorderThickness" Value="0"/> <Setter Property="HorizontalContentAlignment" Value="Center"/> <Setter Property="VerticalContentAlignment" Value="Center"/> <Setter Property="Padding" Value="0"/> <Setter Property="Margin" Value="10,10,0,0"></Setter> <Setter Property="Cursor" Value="Hand" /> <Setter Property="Height" Value="{Binding Height}"></Setter> <Setter Property="Width" Value="{Binding Width}"></Setter> <Setter Property="Cursor" Value="Hand"></Setter> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type RadioButton}"> <Grid> <!--选中或者鼠标移入颜色--> <Grid x:Name="B" Visibility="Collapsed" Background="{TemplateBinding BorderBrush}"/> <!--默认颜色--> <Grid x:Name="A" Background="{TemplateBinding Background}"/> <ContentPresenter x:Name="contentPresenter" RecognizesAccessKey="True" Visibility="Collapsed"/> </Grid> <ControlTemplate.Triggers> <Trigger Property="IsChecked" Value="True"> <Setter Property="Visibility" TargetName="A" Value="Collapsed"/> <Setter Property="Visibility" TargetName="B" Value="Visible"/> </Trigger> <Trigger Property="IsMouseOver" Value="True"> <!--<Setter Property="Visibility" TargetName="contentPresenter" Value="Visible"/>--> <Setter Property="Visibility" TargetName="A" Value="Collapsed"/> <Setter Property="Visibility" TargetName="B" Value="Visible"/> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> </Setter.Value> </Setter> </Style> <!--========================================================RadioButton 样式 通用====================================-->
引用实例:
<!--首页--> <RadioButton Name="rbHome" Style="{DynamicResource Tong_Yong_RadioButtonStyle}" Width="192" Height="63" IsChecked="True" Checked="RadioButton_Checked"> <RadioButton.Background> <ImageBrush ImageSource="/Agriculture.CommonUserControl;component/Images/MenuImages/home-.png"/> </RadioButton.Background> <RadioButton.BorderBrush> <ImageBrush ImageSource="/Agriculture.CommonUserControl;component/Images/MenuImages/home.png"/> </RadioButton.BorderBrush> <Grid> <Grid.Background> <ImageBrush ImageSource="/Agriculture.CommonUserControl;component/Images/MenuImages/home.png"/> </Grid.Background> </Grid> </RadioButton>
相关文章推荐
- 利用c++builder制作仿Oicq菜单
- 利用.Net绘图技术制作水晶按钮控件
- 利用按钮自绘制作图形按钮
- Expression Blend4学习——制作WPF按钮
- 制作漂亮的三维表格 立体效果菜单按钮
- 利用按钮自绘制作图形按钮
- WPF学习笔记-用Expression Blend制作自定义按钮
- 利用ASP.NET的menu和SQL数据库制作无限级别菜单
- wpf制作毛玻璃效果按钮的代码
- tabHost研究二 ,android应用中,大部分的软件都会采用把按钮放在底部显示(tabHost)。利用三个Radiobutton嵌套在RadioGroup 。
- 利用.Net绘图技术制作水晶按钮控件
- 用css制作动态水平按钮菜单
- ASP按钮菜单制作实例
- 利用ASP.NET的menu和SQL数据库制作无限级别菜单
- PHP利用jQuery,轻松搞定二级联动菜单制作
- 利用CSS制作菜单 教程
- 利用.NET绘图技术制作水晶按钮控件(转)
- WPF学习笔记-用Expression Blend制作自定义按钮
- 利用WPF的Border制作扑克牌立体效果
- UINavigationController专栏--利用按钮宏定义构建一个简单的双项菜单