首页 > 其他分享 >WPF.Basic.样式基础(一)

WPF.Basic.样式基础(一)

时间:2023-05-18 10:04:05浏览次数:37  
标签:11 10 13 12 样式 Basic WPF

WPF的样式总的来说有两种使用方式

1.全局样式

1.1 在Windows.Resources下定义全局样式,当然Style作为一种资源,也可以在其他的地方定义资源(当没有X:KEY(扩展标记)值的时候就是对TargetType都有用,无语targetType绑定资源)

 1 <Windows.Resources>
 2  <Style x:Key="Buttonstyle2" TargetType="Button">
 3             <Setter Property="Background" Value="Coral"/>
 4             <Setter Property="Template">
 5                 <Setter.Value>
 6                     <ControlTemplate TargetType="{x:Type Button}">
 7                         <Border Background="{TemplateBinding Background}" CornerRadius="5">
 8                             <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
 9                         </Border>
10                     </ControlTemplate>
11                 </Setter.Value>
12             </Setter>
13             <Style.Triggers>
14                 <Trigger Property="IsMouseOver" Value="True">
15                     <Setter Property="Background" Value="Red"/>
16                 </Trigger>
17             </Style.Triggers>
18         </Style>
19 
20 </Windows.Resources>

1.2 控件引用资源

1    <Button Grid.Row="1" Content="123" Style="{StaticResource Buttonstyle2}" Margin="0,10,10,12" Width="60" Height="30" HorizontalAlignment="Center" VerticalAlignment="Center" RenderTransformOrigin="0.517,-1.25"/>

特别说明:此样式作用时改变鼠标悬停的时候按钮颜色,以下代码是没有作用的,区别以上的ButtonStyle2

 1   <Style x:Key="ButtonStyle1" TargetType="{x:Type Button}">
 2 
 3             <Style.Triggers>
 4                 <Trigger Property="IsMouseOver" Value="True">
 5                     <Setter Property="BorderBrush" Value="Black"></Setter>
 6                     <Setter Property="Background" Value="Green"></Setter>
 7                     <Setter Property="BorderThickness" Value="1"></Setter>
 8                 </Trigger>
 9                 <Trigger Property="IsMouseOver" Value="False">
10                     <Setter Property="BorderBrush" Value="Blue"></Setter>
11                     <Setter Property="Background" Value="#FFFF2E00"></Setter>
12                     <Setter Property="BorderThickness" Value="1"></Setter>
13                 </Trigger>
14 
15             </Style.Triggers>
16         </Style>

2.局部样式(也就是单独对一个控件有用)

 

 1  <Button Height="30" Width="60" BorderBrush="{x:Null}" BorderThickness="1" Content="click" Grid.Row="2">
 2             <Button.Style>
 3                 <Style TargetType="Button">
 4                     <Setter Property="Template">
 5                         <Setter.Value>
 6                             <ControlTemplate TargetType="{x:Type Button}">
 7                                 <Border Background="{TemplateBinding Background}" CornerRadius="5">
 8                                     <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
 9                                 </Border>
10                             </ControlTemplate>
11                         </Setter.Value>
12                     </Setter>
13                     <Setter Property="Background" Value="#dd1144 "/>
14                     <Style.Triggers>
15                         <Trigger Property="IsPressed" Value="True">
16                             <Setter Property="Template">
17                                 <Setter.Value>
18                                     <ControlTemplate TargetType="{x:Type Button}">
19                                         <Border Background="#3f48cc" CornerRadius="4">
20                                             <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
21                                         </Border>
22                                     </ControlTemplate>
23                                 </Setter.Value>
24                             </Setter>
25                         </Trigger>
26                        
27                         <Trigger Property="IsMouseOver" Value="True">
28                             <Setter Property="Template">
29                                 <Setter.Value>
30                                     <ControlTemplate TargetType="{x:Type Button}">
31                                         <Border Background="#3f48cc" >
32                                             <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
33                                         </Border>
34                                     </ControlTemplate>
35                                 </Setter.Value>
36                             </Setter>
37                         </Trigger>
38                     </Style.Triggers>
39                 </Style>
40             </Button.Style>
41         </Button>

 

标签:11,10,13,12,样式,Basic,WPF
From: https://www.cnblogs.com/HomeSapiens/p/17411014.html

相关文章

  • WPF 异步加载数据,窗体事件
    加载WPF界面时,需要获取数据,而数据返回的时间比较长,这个时候可以异步加载数据到界面。 1、首先在XAML中触发窗口载入事件 2、在后台代码中处理窗口载入事件(1)找到主窗口类 (2)在MainWindow类中添加XAML中加入的窗口载入事件 这个事件中可以放置各种界面预处理代码 n......
  • WPF.Basic.ICommand使用
    WPF命令绑定的各种方式引言在WPF开发过程中,不得不学习的就是MVVM模式。但是在MVVM中又绕不开命令(Command)的使用。下面通过几种方式介绍我了解的WPF命令绑定方式。如何使用控件继承ICommand接口,直接使用Command首先通过这里简单介绍Command在MVVM中的使用。ViewModel类......
  • css 样式文件中的特殊符号 - 波浪号(也叫 tilde,squiggle,twiddle)
    例子:.check:checked~.content{}~选择器实际上是后继同胞组合器(在2017年之前称为一般同胞组合器):后继同胞组合器由“波浪号”(U+007E,~)字符组成,它将两个简单选择器序列分隔开。由这两个序列表示的元素在文档树中具有相同的父级,并且由第一个序列表示的元素位于由第二个序列表......
  • 5.16文本样式,列表样式,背景样式
    文本装饰:text-decotation:overline文本上出现上划线text-decoration:line-through文本出现删除线text-decoration:underline文本出现下划线      垂直对齐方式vertical-align:top顶部对齐vertical-align:middle中部对齐vertical:bottom底部对齐文本阴影:text=-shadow:{......
  • 微信h5公众号分享卡片样式
    配置安全域名 页面引入js在需要调用JS接口的页面引入如下JS文件,(支持https):http://res.wx.qq.com/open/js/jweixin-1.6.0.js如需进一步提升服务稳定性,当上述资源不可访问时,可改访问:http://res2.wx.qq.com/open/js/jweixin-1.6.0.js(支持https)。备注:支持使用AMD/CMD标准模块......
  • 5、Nginx 常见模块 auth_basic:实现账户认证功能
    Nginx账户认证功能由ngx_http_auth_basic_module模块提供此功能官方帮助:http://nginx.org/en/docs/http/ngx_http_auth_basic_module.html语法格式:Syntax: auth_basic_user_filefile;Default: —Context: http,server,location,limit_except范例:authbasic提......
  • android 多款按钮样式
    http://www.mindfreakerstuff.com/2012/10/50-awesome-useful-android-custom-button-style-set-2/#button-set2http://www.mindfreakerstuff.com/2012/09/50-useful-android-custom-button-style-set-1/......
  • fullcalendar设置单元格高度,修改了样式但是没效果(已解决)
    首先是设置里面的contenthieght设置不了,然后就尝试直接修改css样式,这里我直接用的控制台工具 拖动这个高度设置的时候我发现是可以改变单元格大小的,然后直接把这一段都复制到代码里,但是用不了,前前后后尝试了很多,为什么css设置的样式没有显示出来?这篇文章里的方法都试了下,但是......
  • 大型源码C# MES WPF CS/BS两套 1, 整体程序由WPF(c#)开发; 2
    大型源码C#MESWPFCS/BS两套1,整体程序由WPF(c#)开发;2,各个文档齐全;3,需要您对WPF和程序架构有比较深入理解;4,包含服务程序;5,包含SCADA数据采集系统;6,包含数据看板;7,包含各种组件;8,包含完整的各个处理脚本。9,由多个产品线程序组成。10,数据库的使用。11,远程服务器的调用......
  • ERP MES 两套系统源代码 WPF AGV C# WPF开发。 A,WPF MES 上位机产线
    ERPMES两套系统源代码WPFAGVC#WPF开发。A,WPFMES上位机产线执行系统。1,完整纯源代码;2,AGV自动调度;3,SQLSERVER数据库。带附加文件。4,WPF各种技术应用。5,数据库技术应用。6,DTU数据传输。7,TCPIPSOCKET技术应用。8,EXCEL数据查询与导出。9,各种库位的管理。10,重要是多线......