Как можно обновить свойство в соответствующей ViewModel пользовательского элемента управления, когда DocumentViewer достигает конца документа XPS?
Чтобы просмотреть документ, я загружаю документ XPS в приложение и использую свойство IDocumentPaginatorSource для привязки к свойству Document в DocumentViewer. Документ (преобразованная презентация PowerPoint) загружается просто отлично, и пользователь может прокручивать PPT, как если бы это был одностраничный документ. Хорошо.
Я знаю, как определить событие окончания документа при использовании автономного Scrollviewer, но я не могу найти какую-либо функцию в самом DocumentViewer или его Scrollviewer.
Ниже приведен соответствующий код. Пожалуйста, будьте добры и сообщите, если есть способ лучше задать этот вопрос или я пропустил основную концепцию, и я с удовольствием отредактирую. Спасибо!
View
<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");
}
ViewModel
private IDocumentPaginatorSource _fixedDocumentSequence;
public IDocumentPaginatorSource FixedFixedDocumentSequence
{
get { return _fixedDocumentSequence; }
set { SetProperty(ref _fixedDocumentSequence, value, () => FixedFixedDocumentSequence); }
}