Button 透明效果
<Window x:Class= "ControlTest2.ButtonGlassTest" xmlns= "http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x= "http://schemas.microsoft.com/winfx/2006/xaml" Title= "ButtonGlassTest" Height= "480" Width= "640" > <Window.Resources> <ControlTemplate x:Key= "GlassButton" TargetType= "{x:Type Button}" > <ControlTemplate.Resources> <Storyboard x:Key= "Timeline1" > <DoubleAnimationUsingKeyFrames BeginTime= "00:00:00" Storyboard.TargetName= "glow" Storyboard.TargetProperty= "(UIElement.Opacity)" > <SplineDoubleKeyFrame KeyTime= "00:00:00.3000000" Value= "1" /> </DoubleAnimationUsingKeyFrames> </Storyboard> <Storyboard x:Key= "Timeline2" > <DoubleAnimationUsingKeyFrames BeginTime= "00:00:00" Storyboard.TargetName= "glow" Storyboard.TargetProperty= "(UIElement.Opacity)" > <SplineDoubleKeyFrame KeyTime= "00:00:00.3000000" Value= "0" /> </DoubleAnimationUsingKeyFrames> </Storyboard> </ControlTemplate.Resources> <Border BorderBrush= "#FFFFFFFF" BorderThickness= "1,1,1,1" CornerRadius= "4,4,4,4" > <Border x:Name= "border" Background= "#7F000000" BorderBrush= "#FF000000" BorderThickness= "1,1,1,1" CornerRadius= "4,4,4,4" > <Grid> <Grid.RowDefinitions> <RowDefinition Height= "0.507*" /> <RowDefinition Height= "0.493*" /> </Grid.RowDefinitions> <Border Opacity= "0" HorizontalAlignment= "Stretch" x:Name= "glow" Width= "Auto" Grid.RowSpan= "2" CornerRadius= "4,4,4,4" > <Border.Background> <RadialGradientBrush> <RadialGradientBrush.RelativeTransform> <TransformGroup> <ScaleTransform ScaleX= "1.702" ScaleY= "2.243" /> <SkewTransform AngleX= "0" AngleY= "0" /> <RotateTransform Angle= "0" /> <TranslateTransform X= "-0.368" Y= "-0.152" /> </TransformGroup> </RadialGradientBrush.RelativeTransform> <GradientStop Color= "#B28DBDFF" Offset= "0" /> <GradientStop Color= "#008DBDFF" Offset= "1" /> </RadialGradientBrush> </Border.Background> </Border> <ContentPresenter HorizontalAlignment= "Center" VerticalAlignment= "Center" Width= "Auto" Grid.RowSpan= "2" /> <Border HorizontalAlignment= "Stretch" Margin= "0,0,0,0" x:Name= "shine" Width= "Auto" CornerRadius= "4,4,0,0" > <Border.Background> <LinearGradientBrush EndPoint= "0.494,0.889" StartPoint= "0.494,0.028" > <GradientStop Color= "#99FFFFFF" Offset= "0" /> <GradientStop Color= "#33FFFFFF" Offset= "1" /> </LinearGradientBrush> </Border.Background> </Border> </Grid> </Border> </Border> <ControlTemplate.Triggers> <Trigger Property= "IsPressed" Value= "True" > <Setter Property= "Opacity" TargetName= "shine" Value= "0.4" /> <Setter Property= "Background" TargetName= "border" Value= "#CC000000" /> <Setter Property= "Visibility" TargetName= "glow" Value= "Hidden" /> </Trigger> <Trigger Property= "IsMouseOver" Value= "True" > <Trigger.EnterActions> <BeginStoryboard Storyboard= "{StaticResource Timeline1}" /> </Trigger.EnterActions> <Trigger.ExitActions> <BeginStoryboard x:Name= "Timeline2_BeginStoryboard" Storyboard= "{StaticResource Timeline2}" /> </Trigger.ExitActions> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> </Window.Resources> <Grid> <Grid.Background> <LinearGradientBrush EndPoint= "0.486,0.986" StartPoint= "0.486,0" > <GradientStop Color= "#FF000000" Offset= "0" /> <GradientStop Color= "#FFD0D0D0" Offset= "1" /> <GradientStop Color= "#FF8D8D8D" Offset= "0.558" /> <GradientStop Color= "#FF8D8D8D" Offset= "0.76" /> <GradientStop Color= "#FF747474" Offset= "0.615" /> </LinearGradientBrush> </Grid.Background> <Button HorizontalAlignment= "Left" Margin= "31,0,0,182" VerticalAlignment= "Bottom" Width= "176" Height= "34" Content= "Button" Foreground= "#FFFFFFFF" Template= "{DynamicResource GlassButton}" /> <Image Margin= "221,89,27.001,73" Source= "Aero_Grass.jpg" Stretch= "Fill" > <Image.OpacityMask> <RadialGradientBrush> <GradientStop Color= "#FF000000" Offset= "0" /> <GradientStop Color= "#00FFFFFF" Offset= "1" /> </RadialGradientBrush> </Image.OpacityMask> </Image> <Button HorizontalAlignment= "Right" Margin= "0,0,120,158" VerticalAlignment= "Bottom" Width= "179" Height= "34" Content= "My New Glass Button" Foreground= "#FFFFFFFF" Template= "{DynamicResource GlassButton}" /> <Button Width= "179" Foreground= "#FFFFFFFF" Template= "{DynamicResource GlassButton}" HorizontalAlignment= "Right" Margin= "0,192,120,218" > <StackPanel HorizontalAlignment= "Left" Width= "Auto" Height= "Auto" Orientation= "Horizontal" > <Image Width= "20" Height= "20" Source= "Aero_Grass.jpg" Stretch= "Fill" /> <TextBlock Margin= "5,0,50,0" VerticalAlignment= "Center" FontSize= "12" Text= "Internet Explorer" TextWrapping= "Wrap" /> </StackPanel> </Button> </Grid> </Window> |
如图:
作者:Work Hard Work Smart
出处:http://www.cnblogs.com/linlf03/
欢迎任何形式的转载,未经作者同意,请保留此段声明!
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决