原文: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 编程下的 TraceView 简介及其案例实战

    TraceView 是 Android 平台配备一个很好的性能分析的工具.它可以通过图形化的方式让我们了解我们要跟踪的程序的性能,并且能具体到 method.详细内容参考:Profiling with ...

  2. create-react-app脚手架的安装和目录结构介绍

    1.对脚手架的初步了解 编程领域中的“脚手架”指的是能够快速搭建项目“骨架”的一类工具,例如大多数的React项目都有src,public,webpack配置文件等等,而src目录中又包含compon ...

  3. 004-React-Native--多图选择上传

    参考资料:http://www.jianshu.com/p/488e62ed9656 一:使用react-native-image-crop-picker进行图片选择时,并没有提供多图的机制.当你从相 ...

  4. Prometheus Node_exporter 之 Network Netstat UDP

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

  5. SQL Server Replication 总结

    合并复制中,数据库架构的更改要重新生成发布端的快照 在SQL Server 合并复制中,如果在发布端做了数据库架构的更改(例如新建表,更改表结构等),原则上来说都需要重新生成发布端的快照,订阅端才能同 ...

  6. 通过HTTP参数污染绕过WAF拦截 (转)

    上个星期我被邀请组队去参加一个由CSAW组织的CTF夺旗比赛.因为老婆孩子的缘故,我只能挑一个与Web漏洞利用相关的题目,名字叫做”HorceForce”.这道题价值300点.这道题大概的背景是,你拥 ...

  7. windows服务器安装telnet的方法指引

    摘要: 1.telnet是一种网络排查的工具 2.当发现一台服务器异常的时候,通常有两个cmd命名做排查 3.ping 服务器ip,看网络是否联通 4.telnet 服务器ip 端口 看该服务器指定端 ...

  8. MySQL C API 访问 MySQL 示例

    代码: /* Simple C program that connects to MySQL Database server */ #include <mysql.h> #include ...

  9. Docker 安装 - Docker 与前端(一)

    Docker 是一个开源的容器引擎,可以方便的对容器进行管理.作为一种新兴的虚拟化方式,跟传统的虚拟化方式相比具有众多优势.<Docker 遇见前端>系列文章,旨在记录如何通过 docke ...

  10. console.time方法与console.timeEnd方法

    在Node.js中,当需要统计一段代码的执行时间时,可以使用console.time方法与console.timeEnd方法,其中console.time方法用于标记开始时间,console.time ...