public static readonly RoutedEvent RenameEvent = EventManager.RegisterRoutedEvent("RenameEvent", RoutingStrategy.Bubble, typeof(RoutedEventHandler), typeof(ImagesDisplay));
        private TextBox renameTextBox;        public static readonly RoutedEvent SaveRotationEvent = EventManager.RegisterRoutedEvent("SaveRotationEvent", RoutingStrategy.Bubble, typeof(RoutedEventHandler), typeof(ImagesDisplay));
        //没有见过这样的写法,像是属性,高手指点一下.
        public event RoutedEventHandler Rename
        {
            add
            {
                base.AddHandler(RenameEvent, value);
            }
            remove
            {
                base.RemoveHandler(RenameEvent, value);
            }
        }
  //没有见过这样的写法,像是属性,高手指点一下.
        public event RoutedEventHandler SaveRotation
        {
            add
            {
                base.AddHandler(SaveRotationEvent, value);
            }
            remove
            {
                base.RemoveHandler(SaveRotationEvent, value);
            }
        }

解决方案 »

  1.   

        public event RoutedEventHandler SaveRotation
            {
                add
                {
                    base.AddHandler(SaveRotationEvent, value);
                }
                remove
                {
                    base.RemoveHandler(SaveRotationEvent, value);
                }
            }
    //属性是 GET SET 啊
      

  2.   

    恩 是WPF 里面的add  remove 是什么东西如果和属性差不多的话, 这个怎么用呢, 
      

  3.   

    http://msdn.microsoft.com/zh-cn/library/system.windows.routedevent.aspx
      

  4.   

    定义WPF事件,在WPF中可以使用两种方式来定义事件
    http://kb.cnblogs.com/a/1271104/
      

  5.   

    应该是事件的显示实现
    //具体怎么解释你可以看看CLR Via C#
      

  6.   

    这是事件. 看看说明把add (C# 參考)更新: 2008 年 7 月 add 內容關鍵字可用來定義當用戶端程式碼訂閱您的事件時,所叫用 (Invoke) 的自訂事件存取子 (Accessor)。如果您提供自訂 add 存取子,則也必須提供 remove 存取子。 範例
    --------------------------------------------------------------------------------下列範例說明具有自訂 add 和 remove 存取子的事件。如需完整的範例,請參閱 HOW TO:實作介面事件 (C# 程式設計手冊)。 VBC#C++F#JScript複製
    class Events : IDrawingObject
    {        
        event EventHandler PreDrawEvent;    event EventHandler IDrawingObject.OnDraw
        {
            add
            {
                lock (PreDrawEvent)
                {
                    PreDrawEvent += value;
                }
            }
            remove
            {
                lock (PreDrawEvent)
                {
                    PreDrawEvent -= value;
                }
            }
        }}
    一般而言,您不需要提供自訂的事件存取子。在大部分情況下,編譯器 (Compiler) 在您宣告事件時自動產生的存取子已經足夠。 
      

  7.   

    这个是wpf里定义路由事件的一个标准方法
      

  8.   

    事件的定义。
    与属性差不多。在WinForm中也一样。
    我常这样用。
    例如:
    public delegate void IrdaPcpProgressEventHandler(object sender, IrdaPcpEventArgs e);
    private event IrdaPcpProgressEventHandler sendProgressEvent;   //发送进程事件        /// <summary>
            /// 发送过程处理事件
            /// </summary>
            public event IrdaPcpProgressEventHandler SendProgressEvent
            {
                add
                {
                    sendProgressEvent += value;
                }
                remove
                {
                    sendProgressEvent -= value;
                }
            }
      

  9.   

    WPF 中 属性的定义 只不过 这里的属性 不是 string  int  而是  event 
      

  10.   

    .net 中的委托,是一种多播委托。
    .net在语法上支持为多播委托赋值,其实就是将多个符合委托的处理函数,赋值给该委托。这样委托(或者委托定义的事件)触发时,就会调用这些处理函数。add
    remove
    是语法层面的支持,你知道原理即可。
      

  11.   

    此为依赖属性,在silverlight, wpf 里面有用。