WPF自定義RoutedEvent事件示例代碼


在這兩年工作中的項目中越來越多的接觸WPF控件的開發工作,同樣也大量的用到了WPF的RoutedEvent事件,但每次需要編寫的時候,總要翻以前的代碼,所以在這里直接記錄下來,免得自己再查來查去了。。

        public static readonly DependencyProperty PageIndexProperty =
            DependencyProperty.Register("PageIndex", typeof(int), typeof(MoonPdfPanel), new UIPropertyMetadata(1));

        public int PageIndex
        {
            get {return (int)GetValue(PageIndexProperty);}
            set { SetValue(PageIndexProperty, value); }
        }

        public static readonly RoutedEvent PageIndexChangedEvent = EventManager.RegisterRoutedEvent("PageIndexChanged", RoutingStrategy.Bubble, typeof(RoutedPropertyChangedEventHandler<int>), typeof(MoonPdfPanel));

        public event RoutedPropertyChangedEventHandler<int> PageIndexChanged
        {
            add { AddHandler(PageIndexChangedEvent, value); }
            remove { RemoveHandler(PageIndexChangedEvent, value); }
        }

        // 觸發事件,結尾一定要使用RaiseEvent(args)來觸發路由事件。
        RoutedPropertyChangedEventArgs<int> args =
                new RoutedPropertyChangedEventArgs<int>(
                    val, this.GetCurrentPageNumber(), PageIndexChangedEvent);
            this.RaiseEvent(args);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM