WPF界面设计中常用的一些代码片段及属性
一、窗体去掉标题栏、消除掉标题栏后的白边,把窗体置于屏幕中间,窗口大小不能改变。
1 WindowStyle="None" AllowsTransparency="True" WindowStartupLocation="CenterScreen" ResizeMode="NoResize"
二、窗口可拖动
1 protected override void OnMouseLeftButtonDown(MouseButtonEventArgs e) 2 { 3 base.OnMouseLeftButtonDown(e); 4 5 // 获取鼠标相对标题栏位置 6 Point position = e.GetPosition(gridTitleBar);//gridTiltleBar一般是最外层控件的Name属性即可。 7 8 // 如果鼠标位置在标题栏内,允许拖动 9 if (e.LeftButton == MouseButtonState.Pressed) 10 { 11 if (position.X >= 0 && position.X < gridTitleBar.ActualWidth && position.Y >= 0 && position.Y < gridTitleBar.ActualHeight) 12 { 13 this.DragMove(); 14 } 15 } 16 }
三、设置Image元素的图片。
1 BitmapImage image = new BitmapImage(new Uri(@"./Images/pic_01_4.png", UriKind.Relative));//@"./Images/pic_01_4.png"为图片路径 2 this.img_Camera.Source = image;//img_Camera为image的Name属性值
四、按钮的样式(鼠标hover时的样式,鼠标按下时的样式,以及普通状态下的样式),把这段代码放到App.xaml的<Application.Resources>节点下。
1 <Style x:Key="SltBtnMinimized" TargetType="{x:Type Button}"> 2 <Setter Property="Template"> 3 <Setter.Value> 4 <ControlTemplate TargetType="{x:Type Button}"> 5 <Border> 6 <Image x:Name="imgContent" Source="Images/wintl_mini_normal.png" /> 7 </Border> 8 <ControlTemplate.Triggers> 9 <Trigger Property="IsMouseOver" Value="True"> 10 <Setter TargetName="imgContent" Property="Source" Value="Images/wintl_mini_hover.png"/> 11 </Trigger> 12 <Trigger Property="IsPressed" Value="True"> 13 <Setter TargetName="imgContent" Property="Source" Value="Images/wintl_mini_press.png"/> 14 </Trigger> 15 </ControlTemplate.Triggers> 16 </ControlTemplate> 17 </Setter.Value> 18 </Setter> 19 </Style>
引用的时候,
1 <Button Width="30" Height="26" x:Name="btn_Close" ToolTip="关闭" Style="{StaticResource BtnCloseStyle}"/>
五、复选框
1 <Style x:Key="CheckBoxTemplate" TargetType="{x:Type CheckBox}"> 2 <Setter Property="Template"> 3 <Setter.Value> 4 <ControlTemplate TargetType="{x:Type CheckBox}"> 5 <StackPanel Orientation="Horizontal"> 6 <Border> 7 <Image x:Name="imageCheckBox" Source="Resources/check_normal.png" Width="18" Height="18" /> 8 </Border> 9 <ContentPresenter VerticalAlignment="Center" /> 10 </StackPanel> 11 <ControlTemplate.Triggers> 12 <Trigger Property="IsChecked" Value="False"> 13 <Setter TargetName="imageCheckBox" Property="Source" Value="Resources/check_normal.png" /> 14 </Trigger> 15 <Trigger Property="IsChecked" Value="True"> 16 <Setter TargetName="imageCheckBox" Property="Source" Value="Resources/check_press.png" /> 17 </Trigger> 18 <Trigger Property="IsChecked" Value="{x:Null}" > 19 <Setter TargetName="imageCheckBox" Property="Source" Value="/Resources/check_hover.png" /> 20 </Trigger> 21 </ControlTemplate.Triggers> 22 </ControlTemplate> 23 </Setter.Value> 24 </Setter> 25 </Style>
六、下拉箭头
<CheckBox Name="chkMore" HorizontalAlignment="Right" Margin="0,0,65,0" VerticalAlignment="Center" Style="{StaticResource MoreCheckBoxTemplate}" LostFocus="chkMore_LostFocus"/><Popup Width="60" IsOpen="{Binding ElementName=chkMore,Path=IsChecked}" PlacementTarget="{Binding ElementName=chkMore}" AllowsTransparency="True" PopupAnimation="Fade"><WrapPanel Width="60"><Button Name="btnMenuSetting" HorizontalAlignment="Right" VerticalAlignment="Center" Style="{StaticResource SettingMenuButtonTemplate}" Click="btnMenuSetting_Click"/><Button Name="btnMenuAbout" HorizontalAlignment="Right" VerticalAlignment="Center" Style="{StaticResource AboutMenuButtonTemplate}" Click="btnMenuAbout_Click"/></WrapPanel></Popup>
checkbox对应的Style在App.xmal中
1 <Style x:Key="MoreCheckBoxTemplate" TargetType="{x:Type CheckBox}"> 2 <Setter Property="Template"> 3 <Setter.Value> 4 <ControlTemplate TargetType="{x:Type CheckBox}"> 5 <StackPanel Orientation="Horizontal" Height="28"> 6 <Border> 7 <Image x:Name="imageCheckBox" Source="Resources/btn_more_normal.png" Width="28" Height="28" /> 8 </Border> 9 <ContentPresenter VerticalAlignment="Center" /> 10 </StackPanel> 11 <ControlTemplate.Triggers> 12 <Trigger Property="IsChecked" Value="False"> 13 <Setter TargetName="imageCheckBox" Property="Source" Value="Resources/btn_more_normal.png" /> 14 </Trigger> 15 <Trigger Property="IsChecked" Value="True"> 16 <Setter TargetName="imageCheckBox" Property="Source" Value="Resources/btn_more_press.png" /> 17 </Trigger> 18 <Trigger Property="IsChecked" Value="{x:Null}" > 19 <Setter TargetName="imageCheckBox" Property="Source" Value="/Resources/btn_more_hover.png" /> 20 </Trigger> 21 </ControlTemplate.Triggers> 22 </ControlTemplate> 23 </Setter.Value> 24 </Setter> 25 </Style>
七、控件无边框
1 BorderThickness="0"
八、控件底色透明
1 Background="Transparent"
九、渐变色GradientBrush画圆
1 <Ellipse Width="120" Height="120"> 2 <Ellipse.Fill> 3 <RadialGradientBrush GradientOrigin="0.25,0.25" RadiusX="0.75" RadiusY="0.75"> 4 <RadialGradientBrush.GradientStops> 5 <GradientStop Offset="0" Color="White"></GradientStop> 6 <GradientStop Offset="0.65" Color="Black"></GradientStop> 7 <GradientStop Offset="0.8" Color="Gray"></GradientStop> 8 </RadialGradientBrush.GradientStops> 9 </RadialGradientBrush> 10 </Ellipse.Fill> 11 </Ellipse>
效果如下:
转载于:https://www.cnblogs.com/dotnetHui/p/7941776.html
WPF界面设计中常用的一些代码片段及属性相关推荐
- 手机界面设计中常用到的9种布局
原文链接 [编者按]本文作者阿沐 ,分享了手机界面设计中常用到的9种布局,我们需要考虑为不同的信息结构来提供相匹配的布局, 手机由于屏幕尺寸的限制,可显示内容要比PC屏幕少得多.在手机界面设计中,若直 ...
- 手机端软件界面设计中的几种常用布局
感谢@天天阿木 给我们带来的总结.作为一名手机浏览器PM,他从手机界面的设计布局入手,告诉我们如何在APP上展示内容.相信,随着产品设计的迭代更新,还会有更酷的布局出现,让我们一起来看看是哪几种. 手 ...
- 手机界面设计中9种常用的布局
手机由于屏幕尺寸的限制,可显示内容要比PC屏幕少得多.在手机界面设计中,若直接把所有内容在一屏内显示,会使界面混乱不堪,丑陋且不可用.我们需要对信息进行有效组织,通过合理布局把信息展示给用户.合理的布 ...
- UI(1)---手机界面设计中12种常用布局
手机界面设计中12种常用布局 手机界面设计中12种常用布局 转载自: 手机界面设计中12种常用布局 - 轩枫阁 总结下手机界面改版要考虑的布局,主要的分为以下2大类 主导航 列表式 陈列馆式 九宫馆式 ...
- WPF界面设计技巧(3)—实现不规则动画按钮
WPF界面设计技巧(3)-实现不规则动画按钮 原文:WPF界面设计技巧(3)-实现不规则动画按钮 发布了定义WPF按钮的教程后,有朋友问能否实现不规则形状的按钮,今天我们就来讲一下不规则按钮的制作. ...
- UI设计实例|界面设计中,版式实战运用以及设计思路
什么是用户体验界面版式设计版式设计是现代设计艺术的重要组成部分,是视觉传达的重要手段.表面上看,它是一种关于编排的学问:实际上,它不仅是一种技能,更实现了技术与艺术的高度统一,版式设计是现代设计者所必 ...
- 佳能打印机清零后不显示界面_Vignelli佳能在界面设计中的无形
佳能打印机清零后不显示界面 Over the last year, for reasons that are not related to this article, I had the chance ...
- android 距离右边距,APP界面设计中间距与边距的要点
原标题:APP界面设计中间距与边距的要点 广州UI设计别样设计表示,无论是做网页设计.后台系统设计.还是APP界面设计,都要遵守一定的设计规范,俗话说的好,无规矩不成方圆,在无需创新的情况下遵守设计规 ...
- 网站建设在网页界面设计中该如何做到简约
网站建设在网页界面设计中该如何做到简约是关于网站建设在网页界面设计中该如何做到简约的文章,同信长春网站公司帮您了解网站建设在网页界面设计中该如何做到简约的方面的知识. 提供的服务或产品,是供年轻人或孩 ...
- .NET都实现平台统一了你还不会WPF界面设计?
WPF界面设计基础 布局 常用布局属性 常用布局容器 Grid StackPanel WrapPanel DockPanel UniformGrid 控件结构 样式 触发器 触发器的类型: 控件模板- ...
最新文章
- git tag学习记录(二)
- 第五篇:HMM 隐马尔可夫模型
- pyspark sparksession_pyspark中的行列互转
- 使用openssl生成rsa公钥和私钥
- 关于Arrays类中toArray方法的总结
- CSS 特殊性、继承与层叠
- mysql-5.5.56配置_mysql 5.5.56免安装版配置方法
- php 验证码字体居中,自定义验证码图片的宽高后文本垂直水平居中[帝国cms ShowKey.php]-网站程序网...
- TensorFlow指定特定GPU以及占用显存的比例
- CNN图像分割简史:从R-CNN到Mask R-CNN(译)
- ElementUI使用问题记录:设置路由+iconfont图标+自定义表单验证
- 如何在 reducer 之间共享 state?
- 数据分析基本思路及手法
- Juggling Life and Learning
- 【虚幻引擎4系列教程】第1章:虚幻引擎4的安装指导
- 微信公众号配置JSAPI支付
- java实验——设计圆柱体类和圆锥体类,继承圆类Circle并实现Volume接口,计算体积。
- 定义一个数组,里面存放星期一、星期二…… 直到星期日的英语写法,分别按倒序和排序后的顺序显示 数组所有元素。
- C# 中通过CancellationTokenSource实现对超时任务的取消
- Tool for developer