原文:WPF编程,使用WindowChrome实现自定义窗口功能的一种方法。

版权声明:我不生产代码,我只是代码的搬运工。 https://blog.csdn.net/qq_43307934/article/details/88064191

效果:

1、安装:下载地址可网上找,也可从最后的地址

2、增加引用

3、增加命名空间

        xmlns:shell="clr-namespace:Microsoft.Windows.Shell;assembly=Microsoft.Windows.Shell"

4、前台

   <Window.Template>
<ControlTemplate TargetType="{x:Type Window}">
<Border BorderThickness="1">
<DockPanel>
<Grid x:Name="WindowHeader"
DockPanel.Dock="Top"
Height="25">
<TextBlock Text="{TemplateBinding Title}"
Margin=" 25 0 0 0"
VerticalAlignment="Center" />
</Grid>
<ContentPresenter Margin="10 0 10 10" />
</DockPanel >
</Border >
<ControlTemplate.Triggers>
<Trigger Property="WindowState"
Value="Maximized">
<Setter TargetName="WindowHeader"
Property="Margin"
Value="6" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Window.Template> <shell:WindowChrome.WindowChrome>
<shell:WindowChrome GlassFrameThickness="-1"
ResizeBorderThickness="10"
CaptionHeight="30"
NonClientFrameEdges="Left,Bottom,Right"
CornerRadius="5" />
</shell:WindowChrome.WindowChrome> <Grid>
<Button VerticalAlignment="Stretch"
HorizontalAlignment="Stretch"
Content=" 按钮" />
</Grid>

 

资源下载:

https://download.csdn.net/download/qq_43307934/10988890

参考地址:

[WPF]使用WindowChrome自定义Window Style

https://www.cnblogs.com/dino623/p/CustomWindowStyle.html

WPF 使用 WindowChrome,在自定义窗口标题栏的同时最大程度保留原生窗口样式

https://blog.csdn.net/WPwalter/article/details/81121829

WPF中Ribbon控件的使用 - Yang-Fei - 博客园

http://www.cnblogs.com/yang-fei/p/6021300.html

WPF 创建自定义窗体 - Yang-Fei - 博客园

http://www.cnblogs.com/yang-fei/p/4737308.html

Ribbon For WPF的使用 - Arthars - 博客园
http://www.cnblogs.com/Angle-Louis/archive/2012/12/11/2805738.html

WPF编程,使用WindowChrome实现自定义窗口功能的一种方法。的更多相关文章

  1. WPF编程,指定窗口图标、窗口标题,使得在运行状态下任务栏显示窗口图标的一种方法。

    原文:WPF编程,指定窗口图标.窗口标题,使得在运行状态下任务栏显示窗口图标的一种方法. 版权声明:我不生产代码,我只是代码的搬运工. https://blog.csdn.net/qq_4330793 ...

  2. WPF编程,自定义鼠标形状的一种方法。

    原文:WPF编程,自定义鼠标形状的一种方法. 版权声明:我不生产代码,我只是代码的搬运工. https://blog.csdn.net/qq_43307934/article/details/8727 ...

  3. VS编程,WPF中两个滚动条 ScrollViewer 同步滚动的一种方法

    原文:VS编程,WPF中两个滚动条 ScrollViewer 同步滚动的一种方法 版权声明:我不生产代码,我只是代码的搬运工. https://blog.csdn.net/qq_43307934/ar ...

  4. QComboBox实现复选功能(三种方法:嵌套QListWidget, 设置QStandardItemModel, 设置Delegate)

    今天介绍一下一个小东西 — 如何让QComboBox实现复选功能?   需求: 下拉列表有复选功能 不可编辑 显示所有选中项   关于QComboBox的复选功能有几种方案: QStandardIte ...

  5. 获得Window窗口权限的三种方法

    1.第一种方法:利用视图控制器自带的View的window属性:  具体使用 self.view.window.rootViewController = ... 2.第二种方法:通过导入APPDele ...

  6. Android点击Button实现功能的几种方法

          Android中Button控件应该算作是比较简单的控件,然而,它的使用频率却是非常的高,今天,我在这里总结了三种常用的点击Button实现其功能的方法.       1.很多时候,我们在 ...

  7. Ajax设置自定义请求头的两种方法

    用自定义请求头token为例 方法一 $.ajax({ type: "post", url:"http://127.0.0.1:4564/bsky-app/templat ...

  8. vue实现打印功能的两种方法

    第一种方法:通过npm 安装插件 1,安装  npm install vue-print-nb --save 2,引入  安装好以后在main.js文件中引入 import Print from 'v ...

  9. Java实现ping功能的三种方法及Linux的区分

    前大半部份转自:https://blog.csdn.net/futudeniaodan/article/details/52317650 检测设备的运行状态,有的是使用ping的方式来检测的.所以需要 ...

随机推荐

  1. Android Studio 自动更新失败解决办法

    Check Update一直提示Connection failed. Please check your network connection and try again,开始以为是由于G*W在捣乱, ...

  2. Java程序流程控制:判断结构、选择结构、循环结构

    本文内容: 判断结构 if 选择结构 switch 循环结构 while do-while for for each break.continue return 首发时间:2017-06-22 21: ...

  3. Prometheus Node_exporter 之 Network Netstat UDP

    Network Netstat UDP /proc/net/snmp 1. UDP In / Out type: GraphUnit: shortLabel: Datagrams out (-) / ...

  4. leveldb源码分析--SSTable之TableBuilder

    上一篇文章讲述了SSTable的格式以后,本文结合源码解析SSTable是如何生成的. void TableBuilder::Add(const Slice& key, const Slice ...

  5. VPC见解

    VPC是什么? VPC:Virtual  Private  Cloud,即虚拟私有云.讨论VPC时,我们可以从两个方面来讨论: 从服务的角度来看:VPC是一种云,但是这个云不属于我们常见的公有云.私有 ...

  6. Orange Pi 3 GPIO 笔记

    这是我写过的最水的文章 设备:Orange pi H6,Pi 3 引脚图: (使用Wiringpi 查看GPIO) +------+-----+----------+------+---+Orange ...

  7. java使用elasticsearch进行模糊查询-已在项目中实际应用

    java使用elasticsearch进行模糊查询 使用环境上篇文章本人已书写过,需要maven坐标,ES连接工具类的请看上一篇文章,以下是内容是笔者在真实项目中运用总结而产生,并写的是主要方法和思路 ...

  8. Spring Boot 的 Security 安全控制

    Spring Security 是一个强大且高度可定制的身份验证和访问控制框架,完全基于 Spring 的应用程序的标准,Spring Security 为基于 Java EE 的企业应用程序提供了一 ...

  9. Lombok 继承时应注意的点

    lombok项目的产生就是为了省去我们手动创建getter和setter等基本方法的麻烦,它能够在我们编译源码的时候自动帮我们生成getter和setter等方法.即它最终能够达到的效果是:在源码中没 ...

  10. MySQL5.7通过压缩包方式安装与配置

    首先下载MySQL5.7的压缩包:https://dev.mysql.com/downloads/mysql/5.7.html#downloads 1.解压缩到目标文件夹,解压后有许多文件,介绍一下用 ...