wpf默认的窗口模板,真的好丑好丑。但是,非常不满意的上面的边框居然不让修改。今天决定使用Blend对默认的窗口模板进行研究。

使用blend新建一个项目

右键窗口,点击编辑模板---》编辑副本

弹出 如下窗口

点击确认之后,就可以看到默认的窗口模板啦。

我把代码粘贴出来,进行一下研究

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:local="clr-namespace:BlendOne"><ControlTemplate x:Key="WindowTemplateKey" TargetType="{x:Type Window}"><Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}"><Grid><AdornerDecorator><ContentPresenter/></AdornerDecorator><ResizeGrip x:Name="WindowResizeGrip" HorizontalAlignment="Right" IsTabStop="false" Visibility="Collapsed" VerticalAlignment="Bottom"/></Grid></Border><ControlTemplate.Triggers><MultiTrigger><MultiTrigger.Conditions><Condition Property="ResizeMode" Value="CanResizeWithGrip"/><Condition Property="WindowState" Value="Normal"/></MultiTrigger.Conditions><Setter Property="Visibility" TargetName="WindowResizeGrip" Value="Visible"/></MultiTrigger></ControlTemplate.Triggers></ControlTemplate><Style x:Key="WindowStyle1" TargetType="{x:Type Window}"><Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.WindowTextBrushKey}}"/><Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.WindowBrushKey}}"/><Setter Property="Template"><Setter.Value><ControlTemplate TargetType="{x:Type Window}"><Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}"><AdornerDecorator><ContentPresenter/></AdornerDecorator></Border></ControlTemplate></Setter.Value></Setter><Style.Triggers><Trigger Property="ResizeMode" Value="CanResizeWithGrip"><Setter Property="Template" Value="{StaticResource WindowTemplateKey}"/></Trigger></Style.Triggers></Style></ResourceDictionary>

研究如下:

TemplateBinding 单方向的数据绑定

AdornerDecorator:

ResizeGrip:

***************************看了一圈,没发现什么情况**********

https://social.msdn.microsoft.com/Forums/ie/zh-CN/ec694236-fde1-4617-a8bc-e978894260e8/wpf22914203092635625442266313906426639303403297226223?forum=wpfzhchs

结果在微软的官网找到了解释,截个图

因为WPF的左面应用程序的窗体外边框包括标题栏是属于系统控制的,不是WPF能修改的,所以我们的解决方法就是将系统的边框隐藏不显示,设计使用自己的边框。

所以只能字节画个边框了。

后面尝试 用blend画出一个界面出来。

wpf之默认窗口模板研究相关推荐

  1. [WPF疑难]避免窗口最大化时遮盖任务栏

    [WPF疑难]避免窗口最大化时遮盖任务栏 周银辉 WPF窗口最大化时有个很不好的现象是:如果窗口的WindowStyle被直接或间接地设置为None后(比如很多情况下你会覆盖默认的窗体样式,即不采用W ...

  2. WPF绘制自定义窗口

    原文:WPF绘制自定义窗口 WPF是制作界面的一大利器,下面就用WPF模拟一下360的软件管理界面,360软件管理界面如下: 界面不难,主要有如下几个要素: 窗体的圆角 自定义标题栏及按钮 自定义状态 ...

  3. [WPF疑难] 模式窗口被隐藏后重新显示时变成了非模式窗口

    原文:[WPF疑难] 模式窗口被隐藏后重新显示时变成了非模式窗口 [WPF疑难] 模式窗口被隐藏后重新显示时变成了非模式窗口 周银辉 现象: 大家可以试试下面这个很有趣但会带来Defect的现象:当我 ...

  4. WPF DatePicker默认显示当前日期,格式化为年月日(转)

    WPF DatePicker默认显示当前日期,格式化为年月日 2018年08月08日 11:23:00 weixin_33922670 阅读数:253 原文:WPF DatePicker默认显示当前日 ...

  5. Modelsim设置默认窗口排版

    Modelsim设置默认窗口排版 本人使用Modelsim的大多数情况,是从Vivado或Quartus II软件中联合调用的.如果使用默认的窗口排版,整个窗口显示会比较凌乱,轻微强迫症的我每次打开, ...

  6. python怎么恢复默认窗口_pycharm恢复默认布局

    pycharm怎么恢复默认设置 首先打开Pycahrm进入主界面. 接着点击左上角的关闭按钮,将pycharm关闭掉. 接下来在弹出的确认关闭界面中点击Exit按钮. 然后打开终端命令行,输入ls - ...

  7. 关闭Eclipse启动时的自动更新,Eclipse恢复默认窗口布局,关闭Eclipse启动时自动验证

    关闭Eclipse启动时的自动更新 1.打开Window--Preferences 2.选择Install/Update--Automatic Updates,取消勾选右边的Automatically ...

  8. 在WPF中最大化窗口并将WindowState设置为None的任务栏

    目录 介绍 背景 是Bug吗? 使用代码 解决方案 设置窗口的属性 介绍 假设您希望WPF应用程序没有标题栏,并且将最大化显示为"全屏",那么您首先想到的是什么?这是最容易做到的. ...

  9. WPF解决Popup窗口随动及显隐

    使用自定义Popup控件,解决WPF控件被Winform遮挡.初始化时Z顺序错误导致显隐异常.输入框无法输入的问题,还可以设置Popup以全屏方式展现. public class CusPopup : ...

最新文章

  1. Java 8 - 收集器Collectors_实战
  2. VTK:Utilities之ColorLookupTable
  3. 走进Java中的持有对象(容器类)之一 容器分类
  4. Django(part37)--session
  5. 常用的方法论-PARR
  6. mysql安装pymyaql_python安装mysql的依赖包mysql-python操作
  7. 营销获客场景下的工具类产品规划
  8. c语言指针慕课,C语言指针
  9. 随机森林筛选特征Matlab,特征筛选(随机森林)
  10. 启动zabbix server服务
  11. MD5加密、Base64加密解密
  12. SQLyog 使用教程
  13. java环境配好后jar文件打开闪退,无打开方式,无反应
  14. 个人网站如何开通收款功能申请支付接口?
  15. 【jQuery】jQuery 教程
  16. 图片懒加载和Vue路由懒加载
  17. 西安交通大学计算机组成原理实验,西安交通大学计算机组成原理专题实验(上)第一次实验报告.pdf...
  18. 3个月周末,软考高级复习攻略,信息系统项目管理师考后总结
  19. 计算机断电重启后蓝屏,电脑断电后重启屏幕出现蓝屏代码0x000000f4解决方法
  20. GO 工作区和GOPATH

热门文章

  1. 伪装nginx版本防止***web服务器
  2. Loonframework-DAO-Alpha-0.1.0发布
  3. Jsoup进阶之获取指定数据
  4. 学习POI处理word
  5. Javascript使用技巧-提高工作效率
  6. 自动翻转html,css--图片翻转二:自动翻转
  7. Javascript第五章为什么用firstChild获取table中最后一个节点会取到text或者tbody第十一课
  8. Javascript第三章循环最后一种方法for..in与for区别第二课
  9. oa处理会签流程图_简易OA漫谈之工作流设计(四,怎么支持会签)
  10. python用三种方式定义字符串、并依次输出_Python 字符串格式化输出的3种方式