布局控件小结

 

目录

布局小结

布局备注

一、Border控件,装饰元素

二、WrapPanel面板

三、DockPanel面板

四:Grid面板

五、UniformGrid面板

六、Canvas面板


布局小结

布局控件小结_第1张图片

布局备注

1、布局原则:不应显示设定元素尺寸;不应使用屏幕坐标指定元素的位置;布局容器的子元素“共享”可用的空间;可嵌套的而已容器。

2、visibility:可见性,visible正常显示,Collapsed不显示也不占用空间,Hidden元素不显示但保留空间。

3、Children:面板中存储的条目集合。

4、IsItemsHost:用于显示与ItemsControl控件关联的项。

一、Border控件,装饰元素

作用:给各种控件加外框,并为其添加背景。

属性:

1、Background :使用Brush对象设置背景;

2、BorderBrush:使用Brush对象设置边框的颜色。

3、BorderThickness:设置边框的宽度。与BorderBrush组合使用。

4、CornerRadius:设置外框的圆角。值越大,圆角超明显。

5、Padding:设置内边距的宽度。

二、WrapPanel面板

作用:以行或列的方式布置控件

属性:

1、Orientaition:Horizontal控件从左向右排列,Vertical从上向下排列

三、DockPanel面板

作用:停靠

属性:

1、Dock :left,Right,Top,Bottom,

2、LastChildFill :true 使最后一个元素占满剩余空间。

四:Grid面板

作用:最强大的布局容器,面板将元素分隔到不可见的行列网格中。

属性:

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相同组名具有一样的宽高 。

五、UniformGrid面板

作用:具有相同的列和行,只需要简单设置Row 和Column附加属性

六、Canvas面板

作用:使用精准的坐标放置元素

属性:

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、字体

  • FontFamily:使用字体的名称,可增加多个用逗号分隔,wpf会按顺序遍历,找到列表中字体。
            

字体静态集合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" 

字体嵌入:加入字体文件,使用时字体名称前加./

        
  • FontSize:字体的设备无关单位尺寸;传统38点=wpf中48单位 (*3/4)
         
  • FontStyle:获取预定义的字体样式,Normal,Italic,Oblique
      
  • FontWeight:文本粗细,Bold
            
  • FontStretch:字体的拉伸或压缩程序,UltraCondensed
            //字体压缩50%
  • TextDecorations:文本装饰,underline下划线
            
            

字体继承: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;

 

你可能感兴趣的:(WPF)