当文档查看器到达 XPS 文档的末尾时,如何更新用户控件各自的 ViewModel 中的属性?
若要查看文档,我将 XPS 文档下载到应用,并使用 IDocumentPaginatorSource 属性绑定到文档查看器中的文档属性。文档(转换后的PowerPoint演示文稿(加载得很好,用户可以滚动浏览PPT,就好像它是一页文档一样。好。
我知道在使用独立滚动查看器时如何识别文档事件的结束,但我在文档查看器本身或其滚动查看器中找不到任何功能。
以下是相关代码。请善待并告知是否有办法更好地提出这个问题,或者我是否错过了一个基本概念,我很乐意编辑。 谢谢!
视图
<DocumentViewer Grid.Row="0"
Name="DocumentViewPowerPoint"
VerticalAlignment="Top"
HorizontalAlignment="Left"
Document="{Binding FixedFixedDocumentSequence}"
ScrollViewer.ScrollChanged="OnScrollChanged"
SizeChanged="DocumentViewPowerPoint_SizeChanged"
Loaded="DocumentViewPowerPoint_Loaded"
Visibility="{Binding XPSVis}"
/>
查看代码隐藏
public TRCourseView(TrainingCourses selectedcourse, InterfaceDialogService dialogservice)
{
InitializeComponent();
_viewModel = new TRCourseViewVM(selectedcourse, dialogservice);
this.DataContext = _viewModel;
}
private void OnScrollChanged(object sender, ScrollChangedEventArgs e)
{
if (DocumentViewPowerPoint.CanMoveDown == false)
MessageBox.Show("This Is The End");
}
视图模型
private IDocumentPaginatorSource _fixedDocumentSequence;
public IDocumentPaginatorSource FixedFixedDocumentSequence
{
get { return _fixedDocumentSequence; }
set { SetProperty(ref _fixedDocumentSequence, value, () => FixedFixedDocumentSequence); }
}
我在 DocumentViewer 中使用了 PageViewsChanged 事件,并在事件中输入了 if 语句"if (DocumentViewPowerPoint.PageCount == DocumentViewPowerPoint.MasterPageNumber("。