显示当前页码和文档查看器中的总页数
本文关键字:当前页 文档 显示 | 更新日期: 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);
}
}
我使用它(结合您上面的代码)成功制作了在滚动时更新的当前页面显示。