wpf之样式
在Window.Resources中书写样式 ;
<Window.Resources>
<Style TargetType="Button" > </Style>
</Window.Resources>
TargetType 是指定标签的类型 ;
<Style TargetType="Button" > </Style>中的style样式会在所有的button按钮中生效 ;
<Window.Resources>
<Style TargetType="Button" >
<Setter Property="FontSize" Value="18"></Setter>
<Setter Property="Content" Value="BUTTON"></Setter>
<Setter Property="Background" Value="red"></Setter>
<!-- 字体 -->
<Setter Property="Foreground" Value="white"></Setter>
</Style>
</Window.Resources>
<Grid>
<StackPanel>
<Button />
<Button />
<Button />
<Button />
</StackPanel>
</Grid>
x:key 可以给一个Style一个唯一的标识(类名)可以单独设置某一个button的样式,而不是现在给所有的button都设置了样式 ;
比如:
<Window.Resources>
<Style x:Key="ButtonStyle" TargetType="Button" >
<Setter Property="FontSize" Value="18"></Setter>
<Setter Property="Content" Value="BUTTON"></Setter>
<Setter Property="Background" Value="red"></Setter>
<!-- 字体 -->
<Setter Property="Foreground" Value="white"></Setter>
</Style>
</Window.Resources>
<Grid>
<StackPanel>
<Button Style="{StaticResource ButtonStyle}" />
<Button />
<Button Style="{StaticResource ButtonStyle}" />
<Button />
</StackPanel>
</Grid>

样式:静态资源
如果想要从这些样式提取公共的样式复用,一些样式单独使用:比如给四个按钮不同的字体颜色 ;
<Window x:Class="WpfApp1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WpfApp1"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800">
<Window.Resources>
<Style x:Key="CommonStyle" TargetType="Button">
<Setter Property="FontSize" Value="18"></Setter>
<Setter Property="Content" Value="BUTTON"></Setter>
<Setter Property="Background" Value="red"></Setter>
</Style> <Style x:Key="ButtonStyle1" TargetType="Button" BasedOn="{StaticResource CommonStyle}" >
<Setter Property="Foreground" Value="white"></Setter>
</Style>
<Style x:Key="ButtonStyle2" TargetType="Button" BasedOn="{StaticResource CommonStyle}" >
<Setter Property="Foreground" Value="lime"></Setter>
</Style>
<Style x:Key="ButtonStyle3" TargetType="Button" BasedOn="{StaticResource CommonStyle}" >
<Setter Property="Foreground" Value="blue"></Setter>
</Style>
<Style x:Key="ButtonStyle4" TargetType="Button" BasedOn="{StaticResource CommonStyle}" >
<Setter Property="Foreground" Value="yellow"></Setter>
</Style>
</Window.Resources>
<Grid>
<StackPanel>
<Button Style="{StaticResource ButtonStyle1}" />
<Button Style="{StaticResource ButtonStyle2}" />
<Button Style="{StaticResource ButtonStyle3}" />
<Button Style="{StaticResource ButtonStyle4}" />
</StackPanel>
</Grid>
</Window>

wpf之样式的更多相关文章
- 求助 WPF ListViewItem样式问题
求助 WPF ListViewItem样式问题 .NET 开发 > Windows Presentation Foundation Вопрос 0 Нужно войти <Style ...
- WPF GroupBox 样式分享
原文:WPF GroupBox 样式分享 默认样式 GroupBox 样式分享" title="WPF GroupBox 样式分享"> 添加样式后 GroupBox ...
- WPF DataGrid 样式设置
隔行换色,鼠标单击,悬浮样式都有,其具体效果如图 1 所示. 图 1 WPF DataGrid 样式设置效果图 其中: 界面设计代码下所示 ? + 查看代码 1 2 3 4 5 6 7 8 9 10 ...
- WPF DataGrid 样式分享
原文:WPF DataGrid 样式分享 隔行换色,鼠标单击,悬浮样式都有 先看效果: 代码: <DataGrid AutoGenerateColumns="False" N ...
- wpf 导出Excel Wpf Button 样式 wpf简单进度条 List泛型集合对象排序 C#集合
wpf 导出Excel 1 private void Button_Click_1(object sender, RoutedEventArgs e) 2 { 3 4 ExportDataGrid ...
- 自定义WPF 窗口样式
原文:自定义WPF 窗口样式 Normal 0 false 7.8 pt 0 2 false false false EN-US ZH-CN X-NONE 自定义 Window 在客户端程序中,经常需 ...
- WPF中样式和行为和触发器
原文:WPF中样式和行为和触发器 样式简介:样式(style)是组织和重用格式化选项的重要工具,不是使用重复的标记填充XAML,以便设置外边距.内边距.颜色以及字体等细节.而是创建一系列封装所有这些细 ...
- WPF自定义样式篇-DataGrid
WPF自定义样式篇-DataGrid 先上效果图: 样式: <!--DataGrid样式--> <Style TargetType="DataGrid"& ...
- WPF CheckBox样式 ScrollViewer样式 WrapPanel、StackPanel、Grid布局
本节讲述布局,顺带加点样式给大家看看~单纯学布局,肯定是枯燥的~哈哈 那如上界面,该如何设计呢? 1.一些布局元素经常用到.Grid StackPanel Canvas WrapPanel等.如上这种 ...
- WPF系列:样式
一般简单的样式我们可以直接写在控件中 <Button Canvas.Left="20" Canvas.Top="30" Width="100&q ...
随机推荐
- 【perl】01
1.环境搭建 -- 解释器 / 编译器 Perl 在 Window 平台上有 ActiveStatePerl 和 Strawberry Perl 编译器. ActiveState Perl和 Stra ...
- nginx+tomcat部署均衡+虚拟IP配置
一.配置java环境 更新数据源 sudo apt update 安装java sudo apt install openjdk-java-8-jdk 查看是否安装成功 java -version 二 ...
- "基础模型时代的机器人技术" —— Robotics in the Era of Foundation Models
翻译: 2023年是智能机器人规模化的重要一年!对于机器人领域之外的人来说,要传达事物变化的速度和程度是有些棘手的.与仅仅12个月前的情况相比,如今人工智能+机器人领域的大部分景观似乎完全不可识别.从 ...
- 神州笔记本(HASEE) win11 操作系统自动进入休眠状态,唤醒后自动关机 —— 神州笔记本总出现这种自动关机的问题怎么破解?
前几日在某东上购入神州笔记本(HASEE),用着本来还好,但是最近只要用到电源模式的问题,这个笔记本就是会无端进入到自动关机的状态. 前文中也讨论过类似的问题: 神州笔记本 win11 节能模式 供电 ...
- 内网穿透之实践记录,使用花生壳进行内外穿透,场景:在家远程ssh连接到公司电脑或学校服务器
今天在网上闲逛的时候看到这样一个内网穿透的软件,ngrok, https://gitee.com/kxwinxp/ngrok 记得10多年前自己在读大学的时候曾经好一段时间在研究内网穿透技术,最后发现 ...
- java中获取本机IP
1.背景 2.代码 package com.XXX.common.util; import cn.hutool.core.util.StrUtil; import lombok.extern.slf4 ...
- maven配置阿里云镜像与修改默认仓库地址
1.背景 通常来说maven的默认镜像很慢,我们需要一个国内镜像,拉取jar包的时候从国内下载, 当然阿里云镜像是很好的一个候选 2.安装 官网下载一个maven解压即可使用 3.修改配置 第一步,找 ...
- JavaScript程序设计模式小技巧——策略模式,快看快用!!!
## 前言> 系列首发于公众号[『非同质前端札记』](https://mp.weixin.qq.com/s?__biz=MzkyOTI2MzE0MQ==&mid=2247485576&a ...
- 自己实现一个自动检测网卡状态,并设置ip地址,源码见文章底部
阅读本文前,请先学习下面几篇文章 <搞懂进程组.会话.控制终端关系,才能明白守护进程干嘛的?> <简简单单教你如何用C语言列举当前所有网口!> <Linux下C语言操作网 ...
- 什么是FPGA?为什么FPGA会如此重要?
CPU.GPU.FPGA三者能力相加就是芯片的未来! 很多粉丝问我,嵌入式方向中的FPGA怎么样?收入如何? 前言 讲述FPGA前,我们先讲讲当年中兴被制裁的问题. 美国前总统特朗普曾经发布过一条禁令 ...