显示当前页码和文档查看器中的总页数

本文关键字:当前页 文档 显示 | 更新日期: 2023-09-27 18:36:29

我正在使用DocumentViewer并在其中显示.xps文件。一切都工作正常,但是当我尝试显示当前页面和总页面时,它不起作用。我尝试了DocumentViewerReading_PageViewsChanged事件,它工作不正常。

页面滚动时应更改,例如在Adobe Reader和XPS查看器中。

我正在使用C#/WPF和Visual Studio 2010

以下是我尝试的代码。

string strFile = @"data'lib.xps";
xpsDoc = new XpsDocument(strFile, FileAccess.Read);
DocumentViewerReading.Document = xpsDoc.GetFixedDocumentSequence();
///////////////////////////////////
private void txtCurrentPageNo_TextChanged(object sender, TextChangedEventArgs e)
{
    if (txtCurrentPageNo.Text != "")
    {
        DocumentViewerReading.GoToPage(Convert.ToInt32(txtCurrentPageNo.Text));
    }
}
private void DocumentViewerReading_PageViewsChanged(object sender, EventArgs e)
{
    txtCurrentPageNo.Text = DocumentViewerReading.MasterPageNumber.ToString();
}

显示当前页码和文档查看器中的总页数

我知道

这来得太晚了,但这是你的解决方案。从文档查看器派生并公开事件。

public class GenericDocumentViewer : DocumentViewer
{
    public event Action<object> MasterPageNumberChanged;
    protected override void OnMasterPageNumberChanged()
    {
        base.OnMasterPageNumberChanged();
        if (MasterPageNumberChanged != null)
            MasterPageNumberChanged(this);
    }
}

我使用它(结合您上面的代码)成功制作了在滚动时更新的当前页面显示。