WPF学习笔记之面板的种类

          今天学了WPF的基本控件,主要是学习了Panel的种类:Canvas、StackPanel、WrapPanel、DockPanel、Grid等。

         1、  首先来看下Canvas面板的基本属性:

               Canvas是最基本的面板,它是根据坐标来定位元素的;譬如Left、Top、Right和Bottom附加属性

              界面:

              

             代码实现:

              

          

             

            

           2、StackPanel

                StackPanel控件,我们把它叫做栈面板,栈?顾名思义,就是’先进后出‘的原则。

                其主要属性就是:Orientation(排列方式,分为Horizontal(水平)、Vertical(垂直))默认情况下为Vertical。

              例子界面:

            


              代码实现:

             


          了解部分:

           

             

            


            3、WrapPanel

                 WrapPanel和StackPanel类似,它除了会对子元素做栈处理以外,当没有足够的空间来放一个栈时,它会把子元素封装在行或列中。

                 其和StackPanel控件一样,都没有附加属性,基本属性如下:

                

            

         了解部门:

          

         4、DockPanel

                DockPanel支持让元素简单的停靠在整个面板的某一边上,然后拉伸元素以填满全部宽度或高度。

                DockPanel有一个附加属性:Dock(System.Windows.Control.Dock)。

                例子:

               

            

                代码实现:

               

       

                了解部分:

                 

          5、Grid

                 Grid是最通用的面板,试用Grid很像使用HTML中的Table。

                 其实WPF也包含了一个叫做Table类,它在System.Windows.Documents命名空间下,它提供了与Grid类似的功能,不过Table是为文档的显示专门优化的,而Grid是为让元素在一个更特定的用户界面中显示而优化的。

                例子:

                 


                 代码实现:

                   

              了解部分:

                   

                 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Adorner是WPF中一种特殊的视觉元素,可以用于在其他元素上添加装饰或者附加功能。Adorner通常用于实现在用户界面上的一些特殊效果,比如鼠标悬停提示、错误提示、操作提示等。 Adorner需要继承自Adorner类,并在构造函数中调用基类的构造函数,并将需要装饰的元素作为参数传递进去。Adorner类中有一个AdornedElement属性,用于获取被装饰的元素。 Adorner类中有一个OnRender方法,用于绘制Adorner的外观。在OnRender方法中可以使用DrawingContext来绘制Adorner的外观,也可以使用VisualBrush来填充Adorner的内容。 Adorner的使用方法: 1. 创建一个Adorner类,继承自Adorner类,并在构造函数中调用基类的构造函数,并将需要装饰的元素作为参数传递进去。 2. 重写Adorner类的OnRender方法,用于绘制Adorner的外观。 3. 在需要装饰的元素上调用AdornerLayer.GetAdornerLayer方法获取AdornerLayer对象。 4. 调用AdornerLayer的Add方法,将Adorner添加到AdornerLayer中。 下面是一个简单的例子: ```csharp public class MyAdorner : Adorner { public MyAdorner(UIElement adornedElement) : base(adornedElement) { } protected override void OnRender(DrawingContext drawingContext) { base.OnRender(drawingContext); // 绘制Adorner的外观 drawingContext.DrawEllipse(Brushes.Red, null, new Point(AdornedElement.RenderSize.Width / 2, AdornedElement.RenderSize.Height / 2), AdornedElement.RenderSize.Width / 2, AdornedElement.RenderSize.Height / 2); } } // 在需要装饰的元素上添加Adorner var adornedElement = new Button { Content = "Click me!" }; var adornerLayer = AdornerLayer.GetAdornerLayer(adornedElement); var myAdorner = new MyAdorner(adornedElement); adornerLayer.Add(myAdorner); ``` 这个例子中,我们创建了一个MyAdorner类,继承自Adorner类,并重写了OnRender方法,在OnRender方法中绘制了一个红色的圆形。然后我们创建了一个Button元素,并将其作为参数传递给MyAdorner的构造函数,创建了一个AdornerLayer对象,并调用Add方法将MyAdorner添加到AdornerLayer中,从而实现了在Button元素上添加了一个红色的圆形装饰器。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值