目录
布局小结
布局备注
一、Border控件,装饰元素
二、WrapPanel面板
三、DockPanel面板
四:Grid面板
五、UniformGrid面板
六、Canvas面板
1、布局原则:不应显示设定元素尺寸;不应使用屏幕坐标指定元素的位置;布局容器的子元素“共享”可用的空间;可嵌套的而已容器。
2、visibility:可见性,visible正常显示,Collapsed不显示也不占用空间,Hidden元素不显示但保留空间。
3、Children:面板中存储的条目集合。
4、IsItemsHost:用于显示与ItemsControl控件关联的项。
作用:给各种控件加外框,并为其添加背景。
属性:
1、Background :使用Brush对象设置背景;
2、BorderBrush:使用Brush对象设置边框的颜色。
3、BorderThickness:设置边框的宽度。与BorderBrush组合使用。
4、CornerRadius:设置外框的圆角。值越大,圆角超明显。
5、Padding:设置内边距的宽度。
作用:以行或列的方式布置控件
属性:
1、Orientaition:Horizontal控件从左向右排列,Vertical从上向下排列
作用:停靠
属性:
1、Dock :left,Right,Top,Bottom,
2、LastChildFill :true 使最后一个元素占满剩余空间。
作用:最强大的布局容器,面板将元素分隔到不可见的行列网格中。
属性:
1、ShowGridLines:true显示网格。
2、RowDefinitions:行 ----------RowDefinition------------- Row----从0开始计算
3、ColumnDefinitions:列 -----------ColumnDefinition--------------Column---从0开始计算
4、width:宽度---绝对宽度100---自动Auto---比例尺寸*
5、UseLayoutRounding:True 消除矩形的边缘模糊
6、RowSpan:跨行合并多个单元格
7、ColumnSpan:跨列合并多个单元格
8、GridSplitter:分割窗口----VerticalAlignment:center 水平分割条,HorizontalAlignment:center 竖直分割条。
9、VerticalAlignment:Stretch使分割条填满区域的整个高度,
10、ShowsPreview:true 显示灰色阴影用于在何处分割,直到释放鼠标健才改变
11、DragIncrement:GridSplitter移动幅度
12、IsSharedSizeGroup:true 使区域内SharedSizeGroup相同组名具有一样的宽高 。
作用:具有相同的列和行,只需要简单设置Row 和Column附加属性
作用:使用精准的坐标放置元素
属性:
1、left:子元素左边与面板左边的单位数。
2、right:子元素右边与面板右边的单位数。
3、top:子元素顶部与面板顶部之间的单位数。
4、bottom:子元素底部与面板底部之间的单位数。
不能同时使用left和right;不能同时使用top和right.
5、zindex:层的顺序 ;默认为0;SetZIndex方法改变层数
通用
1、Background背景画刷,Foreground前景画刷
// 代码:
cmd.Background = new SolidColorBrush(SystemColors.ControlColor);//方法一
byte red = 0; byte green = 255; byte blue = 0;
cmd.Background = new SolidColorBrush(Color .FromRgb (red,green,blue));//方法二
cmd.Background = SystemColors.ControlBrush ;//方法三
//界面
2、字体
//前台
cmd.FontFamily =new FontFamily ( "宋体");//后台
字体静态集合SystemFontFamilies,可获得所有安装字体列表。
foreach (var item in Fonts.SystemFontFamilies )
{
var fontdics = item.FamilyNames;
if (fontdics.TryGetValue (XmlLanguage.GetLanguage ("zh-cn"),out string fontname))
lt.Items.Add(fontname);
else
{
lt.Items.Add(item.Source);
}
}
WPF中文字体感觉显示比较模糊,
解决方法:加上 TextOptions.TextFormattingMode="Display" 且字体为FontFamily="SimSun"
字体嵌入:加入字体文件,使用时字体名称前加./
//前台
cmd.FontSize = 20;//后台
//斜体字
//前台
cmd.FontWeight =FontWeights.Bold ;//后台
//字体压缩50%
字体继承:FrameworkPropertyMetadata.Inherites=true,依赖项属性才支持属性继承。
继承:Foreground,allowDrop,IsEnabled,IsBisible,FontSize;CultureInfo,FlowDiretion
Cursors:鼠标光标
//前台
cmd.Cursor = Cursors.Help;//后台
自定义光标:使用普通的.cur光标文件或.ani动画光标文件。
//方法一;
var applicationdir = "c:";
Cursor cursor = new Cursor(Path.Combine(applicationdir, "stopwatech.ani"));
this.Cursor = cursor;
//方法二
StreamResourceInfo sri = Application.GetResourceStream(new Uri("stopwatech.ani" , UriKind.Relative));
Cursor cursor1 = new Cursor(sri.Stream);
this.Cursor = cursor1;