WPF之Button控件应用
来源:互联网 发布:开源商城 java 编辑:程序博客网 时间:2024/06/05 18:52
测试环境: Windows xp + Microsoft Visual Studio 2010 + Microsoft Expression Blend4 + .Net4.0
具体应用:
1. 创建透明的Button
<Image Source="back.bmp" Grid.Row="0" Stretch="UniformToFill" /><Button x:Name="TranButton" Content="透明Button" Margin="3" Grid.Row="0"><Button.OpacityMask><LinearGradientBrush StartPoint="0,70" EndPoint="3,0"><GradientStop Offset="0" Color="Black"/> <GradientStop Offset="1" Color="Transparent"/></LinearGradientBrush></Button.OpacityMask></Button>
2. 创建带图片的按钮
<Button x:Name="ImageButton" Margin="3" Grid.Row="1" HorizontalAlignment="Left"><StackPanel Margin="1" Orientation="Horizontal" Width="620"><Image Source="back.bmp" Stretch="UniformToFill" Width="160"/><TextBlock Width="130" /><TextBlock Text="图片按钮" Margin="1,15,1,1"/></StackPanel></Button>
3. 鼠标移动变色的按钮
1) 首先设置鼠标的样式
<Style x:Key="ButtonFocusVisual"><Setter Property="Control.Template"><Setter.Value><ControlTemplate><Rectangle Margin="3" SnapsToDevicePixels="true" Stroke="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}" StrokeThickness="1" StrokeDashArray="1 2"/></ControlTemplate></Setter.Value></Setter></Style><LinearGradientBrush x:Key="ButtonNormalBackgroundFill" EndPoint="0.5,1" StartPoint="0.5,0"><GradientStop Color="#FFFFFFFF" Offset="0"/><GradientStop Color="#FFF0F0EA" Offset="0.9"/></LinearGradientBrush><SolidColorBrush x:Key="ButtonBorder" Color="#FF003C74"/><Style x:Key="MouseButtonStyle" TargetType="{x:Type Button}"><Setter Property="FocusVisualStyle" Value="{StaticResource ButtonFocusVisual}"/><Setter Property="Background" Value="{StaticResource ButtonNormalBackgroundFill}"/><Setter Property="BorderBrush" Value="{StaticResource ButtonBorder}"/><Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"/><Setter Property="HorizontalContentAlignment" Value="Center"/><Setter Property="VerticalContentAlignment" Value="Center"/><Setter Property="Template"><Setter.Value><ControlTemplate TargetType="{x:Type Button}"><Microsoft_Windows_Themes:ButtonChrome x:Name="Chrome" BorderBrush="{TemplateBinding BorderBrush}" Fill="{TemplateBinding Background}" RenderMouseOver="{TemplateBinding IsMouseOver}" RenderPressed="{TemplateBinding IsPressed}" RenderDefaulted="{TemplateBinding IsDefaulted}" SnapsToDevicePixels="true" ThemeColor="NormalColor"> <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/></Microsoft_Windows_Themes:ButtonChrome> <ControlTemplate.Triggers><Trigger Property="IsKeyboardFocused" Value="true"><Setter Property="RenderDefaulted" TargetName="Chrome" Value="true"/></Trigger><Trigger Property="ToggleButton.IsChecked" Value="true"><Setter Property="RenderPressed" TargetName="Chrome" Value="true"/></Trigger><Trigger Property="IsEnabled" Value="false"><Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}"/></Trigger><Trigger Property="IsMouseOver" Value="true"><Setter Property="Background" Value="Blue" /></Trigger></ControlTemplate.Triggers></ControlTemplate></Setter.Value></Setter></Style>2)设置Button 按钮
<Button x:Name="MouseButton" Margin="3" Grid.Row="2" Content="鼠标移动变色按钮" Style="{DynamicResource MouseButtonStyle}"/>
4. 创建有倒影的Button
<StackPanel Orientation="Vertical" Margin="3" Grid.Row="5" ><Button x:Name="ReflectionButton" Content="具有倒影的按钮" Height="35" Margin="3" /><Rectangle RenderTransformOrigin="1,0.5" Height="40"> <Rectangle.Fill> <VisualBrush Visual="{Binding ElementName=ReflectionButton}"></VisualBrush> </Rectangle.Fill> <Rectangle.OpacityMask> <LinearGradientBrush StartPoint="0,0" EndPoint="0,1"> <GradientStop Offset="0.3" Color="Transparent"></GradientStop> <GradientStop Offset="1" Color="Red"></GradientStop> </LinearGradientBrush> </Rectangle.OpacityMask> <Rectangle.RenderTransform> <ScaleTransform ScaleY="-1"></ScaleTransform> </Rectangle.RenderTransform> </Rectangle></StackPanel>
5. 改变Button显示的外观
<Button x:Name="TypeButton" Margin="3" Grid.Row="3" Content="改变鼠标形状按钮"> <Button.Clip> <EllipseGeometry RadiusX="90" RadiusY="132" Center="310,135"></EllipseGeometry> </Button.Clip></Button>
6. 创建有下拉按钮的Button
<Button x:Name="TwoButton" Margin="3" Grid.Row="4" HorizontalAlignment="Left"><Button.Content><StackPanel Orientation="Horizontal" Margin="1"><TextBlock Width="250"/><TextBlock Text="可以点击下拉框的按钮"/><TextBlock Width="218"/><Polygon Stroke="Black" StrokeThickness="1" Points="0,0,15,20,30,0,0,0" Fill="Black"/></StackPanel></Button.Content></Button>
- WPF之Button控件应用
- WPF之Button控件应用
- wpf 自定义控件之Button
- WPF控件库学习之Button
- WPF:自定义控件之Button-自定义样式,共用样式
- WPF之Button
- BUTTON控件的应用
- WPF应用ocx控件
- 常用控件之button及吐司框应用(Toast)
- WPF/Blend4之自定义控件——制作自己的Button
- VC++之Button控件
- VC++之Button控件
- VC++之Button控件
- vc之button控件
- Android控件之Button
- Android控件之Button
- Android控件之Button
- Android控件之Button
- jQuery中得到所有name为xxx开头的input的 | jQuery 事件 - delegate() (可用于未来的元素)
- 如果避免孩子变得自私呢?
- Delphi做多国语言
- git(6)查询git历史记录(二)
- 调用非.net系统的Webservice的探索 ( 三 ) -WCF
- WPF之Button控件应用
- Hadoop是什么
- 如何避免孩子养成懦弱性格?
- Android中的Animation应用
- 《js基本方法--02》
- 基本MVC原理
- Oracle OEM 重建 及 案例 说明
- 学习C语言的相关网站(C学习资料)
- 《js基本方法--03》