当前位置: 首页 > news >正文

四会网站建设网站推广短信

四会网站建设,网站推广短信,成都响应式网站建设,有关网站建设的图片以前在设置控件样式或自定义控件时#xff0c;都是使用触发器来进行样式更改。触发器可以在属性值发生更改时启动操作。 像这样#xff1a; Style TargetTypeListBoxItemSetter PropertyOpacity Value0.5 /Setter …以前在设置控件样式或自定义控件时都是使用触发器来进行样式更改。触发器可以在属性值发生更改时启动操作。 像这样 Style TargetTypeListBoxItemSetter PropertyOpacity Value0.5 /Setter PropertyMaxHeight Value75 /Style.TriggersTrigger PropertyIsSelected ValueTrueTrigger.SettersSetter PropertyOpacity Value1.0 //Trigger.Setters/Trigger/Style.Triggers/Style 还可以使用VisualState类来进行样式更改 VisualState类实现了可以让控件始终处于特定的状态的功能。例如当鼠标在控件的表面上移动时该控件被视为处于MouseOver状态。 没有特定状态的控件被视为处于 Normal 状态。 状态分为多个组前面提到的MouseMove状态和Normal属于 CommonStates 状态组(VisualStateGroup)。 大多数控件都有两个状态组CommonStates和 FocusStates。  在应用于控件的每个状态组中控件始终处于每个组的一种状态。但是控件不能处于同一组中的两种不同状态。 完整的状态可以参照下表 VisualState 名称VisualStateGroup 名称描述NormalCommonStates默认状态。MouseOverCommonStates鼠标指针悬停在控件上方。PressedCommonStates已按下控件。DisabledCommonStates已禁用控件。FocusedFocusStates控件有焦点。UnfocusedFocusStates控件没有焦点。 注意 1、VisaulState只适用于状态改变需要过渡动画的情况如果不想实现过渡效果推荐使用触发器。  2、如果要查找WPF附带控件可视状态(VisualState)的名称可参阅控件源码。(https://docs.microsoft.com/zh-cn/dotnet/framework/wpf/controls/control-styles-and-templates) 下面我们使用VisualState类来自定义一个Button样式 1、使用Visual Studio 2019创建一个.Net Core WPF程序 2、在MainWindow中添加两个Button控件第一个button用于展示状态第二个button用于模拟控制第一个按钮的状态 1 Window x:ClassVisualStateDemo.MainWindow2 xmlnshttp://schemas.microsoft.com/winfx/2006/xaml/presentation3 xmlns:xhttp://schemas.microsoft.com/winfx/2006/xaml4 xmlns:dhttp://schemas.microsoft.com/expression/blend/20085 xmlns:mchttp://schemas.openxmlformats.org/markup-compatibility/20066 xmlns:localclr-namespace:VisualStateDemo7 mc:Ignorabled8 TitleMainWindow Height450 Width800 9 StackPanel 10 Button Contentbutton1 HorizontalAlignmentCenter VerticalAlignmentCenter Width88 Height26 Namebtn/ 11 Button Contentbutton2(make button 1 to Pressed state) HorizontalAlignmentCenter VerticalAlignmentBottom Height26 Namebtn_2 Clickbtn_2_Click/ 12 /StackPanel 13 /Window 3、在Windows.Resources下定义样式如下 1 Window.Resources2 Style TargetType{x:Type Button}3 Setter PropertyBorderBrush ValueTransparent/4 Setter PropertyBackground ValueBlack/5 Setter PropertyForeground ValueWhite/6 7 Setter PropertyTemplate8 Setter.Value9 ControlTemplate TargetType{x:Type Button} 10 Border BorderThickness{TemplateBinding Border.BorderThickness} BorderBrush{TemplateBinding Border.BorderBrush} Background{TemplateBinding Panel.Background} Nameborder SnapsToDevicePixelsTrue CornerRadius5 11 VisualStateManager.VisualStateGroups 12 VisualStateGroup NameCommonStates 13 VisualState NameNormal 14 Storyboard 15 ColorAnimation Storyboard.TargetNameborder 16 Storyboard.TargetProperty(Border.Background).(SolidColorBrush.Color) 17 To{TemplateBinding Background} 18 Duration0:0:0.3/ 19 /Storyboard 20 /VisualState 21 VisualState NameMouseOver 22 Storyboard 23 ColorAnimation Storyboard.TargetNameborder 24 Storyboard.TargetProperty(Border.Background).(SolidColorBrush.Color) 25 ToSilver 26 Duration0:0:0.3/ 27 /Storyboard 28 /VisualState 29 VisualState NamePressed 30 Storyboard 31 ColorAnimation Storyboard.TargetNameborder Storyboard.TargetProperty(Border.Background).(SolidColorBrush.Color) To#7b8488 Duration0:0:0.3/ 32 /Storyboard 33 /VisualState 34 /VisualStateGroup 35 /VisualStateManager.VisualStateGroups 36 ContentPresenter RecognizesAccessKeyTrue Content{TemplateBinding ContentControl.Content} ContentTemplate{TemplateBinding ContentControl.ContentTemplate} ContentStringFormat{TemplateBinding ContentControl.ContentStringFormat} NamecontentPresenter Margin{TemplateBinding Control.Padding} HorizontalAlignment{TemplateBinding Control.HorizontalContentAlignment} VerticalAlignment{TemplateBinding Control.VerticalContentAlignment} SnapsToDevicePixels{TemplateBinding UIElement.SnapsToDevicePixels} FocusableFalse / 37 /Border 38 /ControlTemplate 39 /Setter.Value 40 /Setter 41 /Style 42 /Window.Resources 4、运行效果如下 5、使用代码控制VisualState 调用System.Windows.VisualStateManager.GoToState函数可以指定控件的状态。 在按钮2的单击事件中添加以下代码 1 private void btn_2_Click(object sender, RoutedEventArgs e) 2 { 3 System.Windows.VisualStateManager.GoToState(btn, Pressed, false); 4 } 如果是自定义控件直接将控件名换成this即可 1 System.Windows.VisualStateManager.GoToState(this, Pressed, false); 注意 如果在ControlTemplate中使用 VisualStateManager应该调用 GoToState 方法。 如果在ControlTemplate 外使用 VisualStateManager 例如如果在 UserControl 中或在单个元素中使用 VisualStateManager应该调用 GoToElementState 方法。 示例代码
http://www.hkea.cn/news/14382785/

相关文章:

  • 影视网站建设方案青岛关键词快速排名
  • 网站建设哪家公司便宜网站的建设思想
  • 可以做黄金期权的网站建设银行官方网站客户端
  • 苏州微信网站中国数据域名注册
  • 手机网站源码 php哪些网站可以做店淘客
  • 网站报价表格网站怎么做内容
  • 一个网站绑定多个域名 卖域名西安讯展信息科技有限公司
  • 微信 公司网站 怎么做备案 网站
  • 一个网站建设域名的构思最全的网站大全
  • 广州门户网站建设方案成都教育网站建设
  • 青岛seo建站灰色网站欣赏
  • 动漫网站设计模板智能建造概论
  • 批量上传网站产品宁波网站建设活动
  • 河南5G网站基站建设信息装修公司名字 有创意
  • 服务器租用网站模板填手机号码的广告
  • 建设银行网站查开户行邢台交友123
  • 社交网站建设教程无锡网络公司网站建设app微信公众号平
  • 网站制作深圳cnetos 7 wordpress
  • 香奈儿网站建设小微企业所得税优惠政策
  • 网站404页面作用素材网官网
  • 无锡定制网站建设wordpress不在新窗口打开
  • 定制网站和模板建站东莞高端网站建设收费标准
  • 网站右侧固定标题怎么做做网站推广那家好
  • 深圳罗湖网站建设公司哪家好wordpress模板错位
  • 网站论坛页怎么做建设工程施工合同通用条款
  • 苏州网站建设最佳方案二建考试查询入口
  • 石家庄市城乡建设部网站dw软件个人简历网站怎么做
  • 做百度网站接到多少客户电话号码文化传播公司做网站宣传好吗
  • vps可以用了做网站吗网站建设加后台
  • 网站建设方案书 5个备案针对网站做搜索引擎做优化