在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之样式的更多相关文章

  1. 求助 WPF ListViewItem样式问题

    求助 WPF ListViewItem样式问题 .NET 开发 > Windows Presentation Foundation Вопрос 0 Нужно войти <Style ...

  2. WPF GroupBox 样式分享

    原文:WPF GroupBox 样式分享 默认样式 GroupBox 样式分享" title="WPF GroupBox 样式分享"> 添加样式后 GroupBox ...

  3. WPF DataGrid 样式设置

    隔行换色,鼠标单击,悬浮样式都有,其具体效果如图 1 所示. 图 1 WPF DataGrid 样式设置效果图 其中: 界面设计代码下所示 ? + 查看代码 1 2 3 4 5 6 7 8 9 10 ...

  4. WPF DataGrid 样式分享

    原文:WPF DataGrid 样式分享 隔行换色,鼠标单击,悬浮样式都有 先看效果: 代码: <DataGrid AutoGenerateColumns="False" N ...

  5. wpf 导出Excel Wpf Button 样式 wpf简单进度条 List泛型集合对象排序 C#集合

    wpf 导出Excel   1 private void Button_Click_1(object sender, RoutedEventArgs e) 2 { 3 4 ExportDataGrid ...

  6. 自定义WPF 窗口样式

    原文:自定义WPF 窗口样式 Normal 0 false 7.8 pt 0 2 false false false EN-US ZH-CN X-NONE 自定义 Window 在客户端程序中,经常需 ...

  7. WPF中样式和行为和触发器

    原文:WPF中样式和行为和触发器 样式简介:样式(style)是组织和重用格式化选项的重要工具,不是使用重复的标记填充XAML,以便设置外边距.内边距.颜色以及字体等细节.而是创建一系列封装所有这些细 ...

  8. WPF自定义样式篇-DataGrid

    WPF自定义样式篇-DataGrid 先上效果图: 样式:  <!--DataGrid样式-->    <Style TargetType="DataGrid"& ...

  9. WPF CheckBox样式 ScrollViewer样式 WrapPanel、StackPanel、Grid布局

    本节讲述布局,顺带加点样式给大家看看~单纯学布局,肯定是枯燥的~哈哈 那如上界面,该如何设计呢? 1.一些布局元素经常用到.Grid StackPanel Canvas WrapPanel等.如上这种 ...

  10. WPF系列:样式

    一般简单的样式我们可以直接写在控件中 <Button Canvas.Left="20" Canvas.Top="30" Width="100&q ...

随机推荐

  1. docker生产环境jvm性能优化

    1.xmx与xms设置多大合适 docker获得的mem_usage的大小是从外部得到的java进程的内存大小,不仅仅是 -Xmx设置的大小,如果 -Xmx和docker分配的内存一致的话,由于jav ...

  2. quartz监控日志(三)查看卡死线程堆栈 转

    我们经常碰到一些定时任务卡死或者执行时间很长,这样的问题我们排查手段比较常用的是jstack命令 来查看线程堆栈,然后根据我们监控中的threadId或者threadName来查找线程详细堆栈看卡在哪 ...

  3. CF650D Zip-line

    CF650D Zip-line 大概题面: 给定一个长度为 \(n\) 的序列以及\(m\)个操作,每个操作形如" \(a_i,b_i\) ",表示将序列中第 \(a_i\) 个数 ...

  4. 使用命令行 Windows 修改文件权限

    修改文件访问权限的命令行工具是 icacls,其使用语法是这样的: icacls <file> # 查看文件的访问权限 icacls <file> /grant <SID ...

  5. 部署在阿里云上的项目收到了阿里云发送的shiro漏洞

    编辑 ​ 还记得在十月份凯哥发布过一篇修改若依系统编辑器的文章,然后为了方便大家浏览,凯哥就部署在服务器上了,结果,没想到最近收到了阿里云漏洞扫描通知: 编辑 ​ 如果不修改的话:对于长期存在安全隐患 ...

  6. C++性能优化——能用array就不要用unordered_map作为查询表

    unordered_map需要哈希值计算和表查询的开销,当key值为整数且连续,直接用数组作为查询表具有更高的效率. #include <iostream> #include <ch ...

  7. C++:使自定义类支持迭代器

    概述 在 C++ 中,链表迭代器是一种用来遍历链表(如 std::list)元素的工具.链表是一种数据结构,其中每个元素(节点)包含一个数据值和一个指向下一个节点的指针.链表迭代器允许以类似于数组的方 ...

  8. 全网最适合入门的面向对象编程教程:47 Python函数方法与接口-回调函数Callback

    全网最适合入门的面向对象编程教程:47 Python 函数方法与接口-回调函数 Callback 摘要: 回调函数是编程中一种非常常见的模式,用于将函数作为参数传递给其他函数或方法.这种模式在 Pyt ...

  9. 【论文解读】System 2 Attention提高大语言模型客观性和事实性

    一.简要介绍       本文简要介绍了论文"System 2 Attention (is something you might need too) "的相关工作.基于trans ...

  10. SQL Server – 基本操作 Table 和 Column

    前言 日常都是用 EF Core 来管理 Database, 偶尔也用 Management Studio, 就是很少手写 Command. 虽然网上一拉就有很多, 但是每次写单侧都要到处找还是挺烦的 ...