本文介绍WPF一种自定义按钮的方法。
实现效果如下图所示:
// ButtonStyles.xaml <Style x:Key="CustomButton" TargetType="{x:Type local:CustomButton}"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type local:CustomButton}"> <Grid x:Name="container"> <Image Width="{TemplateBinding Width}" Height="{TemplateBinding Height}" Source="{Binding ButtonImage,RelativeSource={RelativeSource Mode=TemplatedParent}}"> <Image.RenderTransformOrigin> <Point X="0.5" Y="0.5"/> </Image.RenderTransformOrigin> <Image.RenderTransform> <ScaleTransform x:Name="scaletrans" ScaleX="1" ScaleY="1"/> </Image.RenderTransform> </Image> </Grid> <ControlTemplate.Triggers> <Trigger Property="IsEnabled" Value="False"> <Setter Property="Opacity" Value="0.5" TargetName="container"/> </Trigger> <Trigger Property="IsMouseOver" Value="True"> <Setter Property="Background" Value="#2c000000" TargetName="container"/> </Trigger> <Trigger Property="IsPressed" Value="True"> <Trigger.EnterActions> <BeginStoryboard> <Storyboard> <DoubleAnimation Storyboard.TargetName="scaletrans" Storyboard.TargetProperty="(ScaleTransform.ScaleX)" To="0.8" Duration="0:0:0.15" AutoReverse="True"/> <DoubleAnimation Storyboard.TargetName="scaletrans" Storyboard.TargetProperty="(ScaleTransform.ScaleY)" To="0.8" Duration="0:0:0.15" AutoReverse="True"/> </Storyboard> </BeginStoryboard> </Trigger.EnterActions> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> </Setter.Value> </Setter> </Style> // CustomButton.cs public class CustomButton : Button { public ImageSource ButtonImage { get { return (ImageSource)GetValue(ButtonImageProperty); } set { SetValue(ButtonImageProperty, value); } } public static readonly DependencyProperty ButtonImageProperty = DependencyProperty.Register("ButtonImage", typeof(ImageSource), typeof(CustomButton), new FrameworkPropertyMetadata(null, FrameworkPropertyMetadataOptions.AffectsRender)); } // App.xaml 合并资源 <Application.Resources> <ResourceDictionary> <ResourceDictionary.MergedDictionaries> <ResourceDictionary Source=".../ButtonStyles.xaml"/> </ResourceDictionary.MergedDictionaries> </ResourceDictionary> </Application.Resources> // view.xaml 使用 <Grid> <customcontrols:CustomButton Width="48" Height="48" Style="{StaticResource CustomButton}" ButtonImage="/Louzi.Paint;component/Images/Toolbar/write.png"/> </Grid>
以上就是C# WPF 自定义按钮的方法的详细内容,更多关于C# WPF 自定义按钮的资料请关注小牛知识库其它相关文章!
本文向大家介绍wxWidgets自定义按钮的方法,包括了wxWidgets自定义按钮的方法的使用技巧和注意事项,需要的朋友参考一下 场景: 1.现在的软件上的按钮都不是标准的按钮了,因为基本上是贴图上去的,正常情况下一种图片,鼠标移上去之后按钮显示另一种效果,按下去之后又是另一种效果。 2.wx的做法其实和mfc的按钮原理是一样的,就是给按钮贴图和重绘背景。 以下是源文件. dh_bitmap_b
> 标高,同时具有自定义可绘制。 在用户触摸的地方启动涟漪效果。
本文向大家介绍C#动态生成按钮及定义按钮事件的方法,包括了C#动态生成按钮及定义按钮事件的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#动态生成按钮及定义按钮事件的方法。分享给大家供大家参考。具体实现方法如下: 1、后台生成input的button按钮 写入到界面中 2、后台回发拦截与处理 希望本文所述对大家的C#程序设计有所帮助。
问题内容: 我想在UITextField上创建自定义清除按钮,即使用rightView并将图像放在此处,问题是将原始的清除按钮事件附加到该自定义rightView上。 在Objective-C中,我可以这样做: 现在如何将其转换为Swift?或任何解决方法? 问题答案: 您可以将自定义按钮添加为类似这样的右视图
我正在努力修改MUI next(v1)中的按钮颜色。 我该如何设置muitheme,使其行为与bootstrap相似,这样我就可以用“btn危险”表示红色,“btn成功”表示绿色? 我尝试了自定义,但它不能正常工作(悬停颜色不会改变),而且似乎是重复的。我有什么选择?
本文向大家介绍WPF弹出自定义窗口的方法,包括了WPF弹出自定义窗口的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了WPF弹出自定义窗口的方法。分享给大家供大家参考,具体如下: 测试环境: [1]VS2010SP1 [2]WPF(.NET Framework 4)项目 内容简介 WPF工程如何弹出自定义窗口 第一步:自定义个窗口 为当前项目新添个Window项,XAML部份的代码略,