dedecms 网站迁移,wordpress中文书籍,网站在那里,在线商城开发费用常用属性
这里重点记录一些关键且容易忘记的属性#xff0c;那些很常用的如Title啥的就不在这里一一说明了。
任务栏按钮
ShowInTaskbar#xff1a;是否在任务栏中显示应用按钮#xff0c;默认为True。
层级
Topmost#xff1a;应用是否始终在所有应用的最上层#x…常用属性
这里重点记录一些关键且容易忘记的属性那些很常用的如Title啥的就不在这里一一说明了。
任务栏按钮
ShowInTaskbar是否在任务栏中显示应用按钮默认为True。
层级
Topmost应用是否始终在所有应用的最上层默认为False。
图标
Icon设置应用窗体左上角的图标。
事件函数
Loaded指定窗体加载函数例如LoadedWindow_Loaded。
Closing指定窗体的关闭事件处理函数。
MouseDoubleClick指定窗体的双击事件处理函数。
WindowChrome
在WPF中如果希望设置窗体无边框是可以通过设置窗体Windows的WindowStyleNone来实现的。但是通过这种方式设置的无边框窗口缺少了边框阴影、边框拉伸、边框移动、双击放大/缩小等一系列的功能。对于此WPF提供了更加简便的方式即WindowChrome。
Window x:ClassWPFStudy.MainWindowxmlnshttp://schemas.microsoft.com/winfx/2006/xaml/presentationxmlns:xhttp://schemas.microsoft.com/winfx/2006/xamlxmlns:dhttp://schemas.microsoft.com/expression/blend/2008xmlns:mchttp://schemas.openxmlformats.org/markup-compatibility/2006mc:Ignorabledxmlns:localclr-namespace:WPFStudyTitleMainWindowHeight450 Width800WindowChrome.WindowChromeWindowChrome//WindowChrome.WindowChromeGrid/Grid
/Window标题区域高度设置
CaptionHeight指定窗口顶部的标题区域的高度。
WindowChrome.WindowChromeWindowChrome CaptionHeight50/
/WindowChrome.WindowChrome取消默认按钮
使用WindowChrome之后虽然看不见但是那几个默认的按钮还是存在的如果鼠标点击对应的位置就会触发相应的功能。如果要屏蔽这三个默认按钮可以使用以下属性。
UseAeroCaptionButtons是否启用标题按钮的命中测试也就是点击对应位置是否触发这三个标题按钮默认为True设为False即可屏蔽。
WindowChrome.WindowChromeWindowChrome UseAeroCaptionButtonsFalse/
/WindowChrome.WindowChrome玻璃边框宽度
GlassFrameThickness设置窗体玻璃边框的宽度官方文档中有说如果指定 GlassFrameThickness 值为 -1那么可以做到整个窗口都遮挡所以一般设置为1就可以了。如果要禁用这个效果则设置为0即可。
缩放区域宽度
如果没有禁用窗口的缩放在希望改变缩放触发区域宽度时可以通过ResizeBorderThickness属性进行修改。
WindowChrome.WindowChromeWindowChrome ResizeBorderThickness10/
/WindowChrome.WindowChrome标题栏遮挡子控件的处理
当窗体内的子控件出与窗体标题区域重叠时默认会被标题区域遮挡如果希望优先使用子控件可以在子控件中使用以下属性。
WindowChrome.IsHitTestVisibleInChrome附加属性是否优先点击窗体中的可见区域默认为false。
WindowChrome.WindowChromeWindowChrome CaptionHeight50 UseAeroCaptionButtonsFalse/
/WindowChrome.WindowChrome
GridButton WindowChrome.IsHitTestVisibleInChromeTrue Width50 Height50 Contentbutton HorizontalAlignmentRight VerticalAlignmentTop /
/GridWindowStyle方式
属性设置
Window ......WindowStyleNoneBackgroundTransparentAllowsTransparencyTrue......
......
/Window窗体拖动
有些情况下只能通过WindowStyle的方式来设置窗体的无边框样式例如异样窗口下无法使用WindowChrome此时如果要实现窗体的拖动就需要在对应的区域内设置
GridLabel BackgroundYellow Height20 VerticalAlignmentTop MouseDownLabel_MouseDown/
/Gridprivate void Label_MouseDown(object sender, MouseButtonEventArgs e)
{DragMove();//吓尿了比winform简单很多
}无边框遮挡任务栏解决方案
在使用WindowStyleNone的方式设计无边框窗体时将窗体最大化会遮挡屏幕下方的任务栏。针对这个问题有一个较好的解决方案是在窗体加载时设置窗体的最大宽度和高度。
public MainWindow()
{InitializeComponent();MaxWidth SystemParameters.MaximizedPrimaryScreenWidth;MaxHeight SystemParameters.MaximizedPrimaryScreenHeight;
}