zoukankan      html  css  js  c++  java
  • 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控件是一个第三方控件,如果你们用微软系统自带的控件,改变一下命名空间和类就可以了
  • 相关阅读:
    ul>li中自定义属性后取值的问题
    img标签src图片地址找不到显示默认图片
    jquery通配符说明
    jquery控制元素的显示与隐藏
    mysql中行转列与列传行的问题
    页面禁止滚动条
    HttpServletRequest继承字ServletRequest的常用方法
    系统间通信方式
    mysql函数积累
    java 用maven 构建项目时@Override错误的解决办法
  • 原文地址:https://www.cnblogs.com/888h/p/1815975.html
Copyright © 2011-2022 走看看