wpf之默认窗口模板研究
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之默认窗口模板研究相关推荐
- [WPF疑难]避免窗口最大化时遮盖任务栏
[WPF疑难]避免窗口最大化时遮盖任务栏 周银辉 WPF窗口最大化时有个很不好的现象是:如果窗口的WindowStyle被直接或间接地设置为None后(比如很多情况下你会覆盖默认的窗体样式,即不采用W ...
- WPF绘制自定义窗口
原文:WPF绘制自定义窗口 WPF是制作界面的一大利器,下面就用WPF模拟一下360的软件管理界面,360软件管理界面如下: 界面不难,主要有如下几个要素: 窗体的圆角 自定义标题栏及按钮 自定义状态 ...
- [WPF疑难] 模式窗口被隐藏后重新显示时变成了非模式窗口
原文:[WPF疑难] 模式窗口被隐藏后重新显示时变成了非模式窗口 [WPF疑难] 模式窗口被隐藏后重新显示时变成了非模式窗口 周银辉 现象: 大家可以试试下面这个很有趣但会带来Defect的现象:当我 ...
- WPF DatePicker默认显示当前日期,格式化为年月日(转)
WPF DatePicker默认显示当前日期,格式化为年月日 2018年08月08日 11:23:00 weixin_33922670 阅读数:253 原文:WPF DatePicker默认显示当前日 ...
- Modelsim设置默认窗口排版
Modelsim设置默认窗口排版 本人使用Modelsim的大多数情况,是从Vivado或Quartus II软件中联合调用的.如果使用默认的窗口排版,整个窗口显示会比较凌乱,轻微强迫症的我每次打开, ...
- python怎么恢复默认窗口_pycharm恢复默认布局
pycharm怎么恢复默认设置 首先打开Pycahrm进入主界面. 接着点击左上角的关闭按钮,将pycharm关闭掉. 接下来在弹出的确认关闭界面中点击Exit按钮. 然后打开终端命令行,输入ls - ...
- 关闭Eclipse启动时的自动更新,Eclipse恢复默认窗口布局,关闭Eclipse启动时自动验证
关闭Eclipse启动时的自动更新 1.打开Window--Preferences 2.选择Install/Update--Automatic Updates,取消勾选右边的Automatically ...
- 在WPF中最大化窗口并将WindowState设置为None的任务栏
目录 介绍 背景 是Bug吗? 使用代码 解决方案 设置窗口的属性 介绍 假设您希望WPF应用程序没有标题栏,并且将最大化显示为"全屏",那么您首先想到的是什么?这是最容易做到的. ...
- WPF解决Popup窗口随动及显隐
使用自定义Popup控件,解决WPF控件被Winform遮挡.初始化时Z顺序错误导致显隐异常.输入框无法输入的问题,还可以设置Popup以全屏方式展现. public class CusPopup : ...
最新文章
- Java 8 - 收集器Collectors_实战
- VTK:Utilities之ColorLookupTable
- 走进Java中的持有对象(容器类)之一 容器分类
- Django(part37)--session
- 常用的方法论-PARR
- mysql安装pymyaql_python安装mysql的依赖包mysql-python操作
- 营销获客场景下的工具类产品规划
- c语言指针慕课,C语言指针
- 随机森林筛选特征Matlab,特征筛选(随机森林)
- 启动zabbix server服务
- MD5加密、Base64加密解密
- SQLyog 使用教程
- java环境配好后jar文件打开闪退,无打开方式,无反应
- 个人网站如何开通收款功能申请支付接口?
- 【jQuery】jQuery 教程
- 图片懒加载和Vue路由懒加载
- 西安交通大学计算机组成原理实验,西安交通大学计算机组成原理专题实验(上)第一次实验报告.pdf...
- 3个月周末,软考高级复习攻略,信息系统项目管理师考后总结
- 计算机断电重启后蓝屏,电脑断电后重启屏幕出现蓝屏代码0x000000f4解决方法
- GO 工作区和GOPATH
热门文章
- 伪装nginx版本防止***web服务器
- Loonframework-DAO-Alpha-0.1.0发布
- Jsoup进阶之获取指定数据
- 学习POI处理word
- Javascript使用技巧-提高工作效率
- 自动翻转html,css--图片翻转二:自动翻转
- Javascript第五章为什么用firstChild获取table中最后一个节点会取到text或者tbody第十一课
- Javascript第三章循环最后一种方法for..in与for区别第二课
- oa处理会签流程图_简易OA漫谈之工作流设计(四,怎么支持会签)
- python用三种方式定义字符串、并依次输出_Python 字符串格式化输出的3种方式