Hi
I'm trying to using RadBook control to display a PDF file and also a custom control named DrawingCanvas to draw some shapes over the PDF file loaded.
I've done this successfully thanks to the vast amount of samples available.
Here is how I do:
I load the file as follows:
And here is the DataTemplate which I use:
And everything works great.
My problem is that, when the page is changed (on PageChanged event), I want to access the DrawingCanvas!
I tries the 2 approaches mentioned in this post How to access controls in RadBook DataTemplete?, but it doesn't help me.
When using the loaded event, I have 2 problems:
I'm trying to using RadBook control to display a PDF file and also a custom control named DrawingCanvas to draw some shapes over the PDF file loaded.
I've done this successfully thanks to the vast amount of samples available.
Here is how I do:
I load the file as follows:
private void LoadFile(String filePath){ documentStream = new FileStream(filePath, FileMode.Open); var doc = new PdfFormatProvider(documentStream, FormatProviderSettings.ReadOnDemand).Import(); book.ItemsSource = doc.Pages;}And here is the DataTemplate which I use:
<DataTemplate x:Key="PageTemplate"> <Viewbox> <Grid> <ui:FixedDocumentSinglePagePresenter Page="{Binding}" Width="500" Height="500"/> <hosts:DrawingCanvas Width="500" Height="500" Margin="15" Background="#00000000" /> </Grid> </Viewbox> </DataTemplate>My problem is that, when the page is changed (on PageChanged event), I want to access the DrawingCanvas!
I tries the 2 approaches mentioned in this post How to access controls in RadBook DataTemplete?, but it doesn't help me.
When using the loaded event, I have 2 problems:
- When paging back, the events (sometimes) does not raise!
- It seems the RadBook caches the pages, so while RightPageIndex is 0, I get events of canvases in page 1 and 2.
And when trying to use the RadBook.ItemContainerGenerator the problem is that myBook.ItemContainerGenerator.ContainerFromIndex(leftPageInd) returns null,
and I also tried to use the book.Items property, but my Items type are RadFixedPage (because I've set ItemsSource of book to PdfFormatProvider's Pages property) and I don't know how can I use it to get my DrawingCanvas.
Regards, Vahid
