精通Silverlight——12.6.1 使用.NET代码创建控件

来源:互联网 发布:网页排名优化 编辑:程序博客网 时间:2024/05/04 16:20

  由于每个XAML对象都对应一个.NET对象,因此在.NET代码中创建控件与在其他.NET项目中一样,下面的代码演示如何创建一个矩形,如下所示:

    public partial class Page : Canvas

    {

        public void Page_Loaded(object o, EventArgs e)

        {

            // Required to initialize variables

            InitializeComponent();

            //实例化一个矩形对象

            Rectangle rc = new Rectangle();

            //设置宽和高度

            rc.Width = 100;

            rc.Height = 100;

            //填充矩形

            rc.Fill = new SolidColorBrush(Colors.Blue);

            //设置附加属性,指定矩形的位置

            rc.SetValue<double>(Canvas.LeftProperty, 100);

            rc.SetValue<double>(Canvas.TopProperty, 100);

            //将矩形添加到根画布中

            this.Children.Add(rc);

        }

    }

这段代码首先实例化了一个Rectangle对象,然后设置矩形的属性。对于附加属性,使用了SetValue泛型方法进行设置,最后一步,也是最重要的一步,需要将矩形添加到画布中去。不然矩形将是一个独立的对象,并没在添加到可视化树中。

Canvas对象的Children属性是一个VisualCollection类型的对象,VisualCollection是一个Collection<Visual>类型的泛型集合对象,可以像处理常规集合一样来处理画布中的UI对象,比较常用的有如下的方法和属性

q      Clear方法:清除所有的子对象。

q      Count属性:获取顶层子对象的数量

q      Add(obj)方法:在集合的尾部添加对象

q      Insert(n, obj)方法:在指定的集合位置处添加对象。

q      Remove(obj)方法:移除指定的对象。

q      RemoveAt(n)方法:移除指定位置的对象。

原创粉丝点击