• SilverLight用户控件中自定义事件


    最近做一个简单的树型结构,需要做成用户控件,但是TreeView已经形成之后,在其它地方调用这个用户控件时,本来TreeView应该有的事件却没有了,比如Unchecked,Checked事件,在下面的XMAL代码段中没有这些事件,其实可以在用户控件中实现这些事件,但是有些东西不能在用户控件中实现,只能在调用方实现。


    <local:ResourceCategoryTree x:Name="RadTreeView1"></local:ResourceCategoryTree>

         经过一个小时的摸索,终于搞定了,实现方法如下
         1、首先在用户控件中声明需要的事件,比如Unchecked事件,如下代码
          

    public event Telerik.Windows.RadRoutedEventHandler Unchecked;

         2、在用户控件中,实现TreeView自带的Unchecked,代码如下:
              

    private void rtv_Unchecked(object sender, Telerik.Windows.RadRoutedEventArgs e)

    {

    //触发自定义事件

    if (Unchecked != null)

    {

    Unchecked(sender, e);

    }

    }

          3、就可以在调用方实现Unchecked事件了,可以在XAML中实现,也可以在后台代码中实现,如下代码,在后台实现
             

    RadTreeView1.Unchecked+=new Telerik.Windows.RadRoutedEventHandler(RadTreeView1_Unchecked);

           4、下面代码为实现的方法
          



    private void RadTreeView1_Unchecked(object sender, Telerik.Windows.RadRoutedEventArgs e)

    {

    //在此事件代码就可以了

    }
    经过以上几个步骤,就可以实现用户控件中自定义的控件在调用方的实现
    另外声明:我用的TreeView控件是一个第三方控件,如果你们用微软系统自带的控件,改变一下命名空间和类就可以了
  • 相关阅读:
    C语言中可变函数参数变量的实现
    Oracle电话面试
    JS和C#方法相互调用
    asp.net 页面从初始化到卸载事件顺序
    解决.NET CF 3.5 Bitmap(Stream)未处理异常问题
    sql2008新增时间类数据类型学习
    c#和Javascript操作同一json对象
    被研究生了
    分形
    跑钱
  • 原文地址:https://www.cnblogs.com/888h/p/1815975.html
Copyright © 2020-2023  润新知