WPF自定义控件那些事(三)

来源:互联网 发布:手机码字软件 编辑:程序博客网 时间:2024/06/11 03:50

流文档容器FlowDocumentScrollViewer

 

流文档容器FlowDocumentScrollViewer类,发现没有滚动到文档最后或最前的方法,所以自定义,添加这两个方法。具体实现思路:在控件应用模板后,在模板中查询子控件ScrollViewer,调用其对应的滚动方法。其中查找子控件的方法在我的另外文章中可以找到。

 

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Windows;using System.Windows.Interop;using System.Windows.Controls;namespace Zbsoft.WpfControls{    /// <summary>    /// 流文档容器类    /// </summary>    public class ZbFlowDocumentScrollViewer : FlowDocumentScrollViewer    {        /// <summary>        /// 容器模板中的ScrollViewer控件        /// </summary>        private ScrollViewer sv;        /// <summary>        ///         /// </summary>        public ZbFlowDocumentScrollViewer()        {        }        /// <summary>        /// 在应用模板时,查找滚动条,并赋给sv,以供调用        /// </summary>        public override void OnApplyTemplate()        {            base.OnApplyTemplate();            this.sv = ZbExternt.FindVisualChild<ScrollViewer>(this);        }        /// <summary>        /// 滚动到最后        /// </summary>        public void ScrollToEnd()        {            if (this.sv != null)                sv.ScrollToEnd();        }        /// <summary>        /// 滚动到最前面        /// </summary>        public void ScrollToHome()        {            if (this.sv != null)                this.sv.ScrollToHome();        }    }}


 

原创粉丝点击