Hi,
I have the following issue:
I have a XamDataGrid (GridColumn 0), a GridSplitter (GridColumn 1) and a ScrollViewer (GridColumn2) in a Grid.
Now I would like to have the following behaviour:
- Deferrable Scroll with ScrollTip (like in standard XamDataGrid)
- Scroll Synchronization between the two ScrollViews (Xam and "normal")
I have tried several approaches.
I have changed the RecordListControl Style and added a ScrollSynchronizer Group to the ScrollViewer of the XamDataGrid and the other one. This enables synchronization, but if I use IsDeferredScrollingEnabled=True on both, the ScrollTip does not get refreshed while scrolling (and the scrolltip is only seen when scrolling on the xamdatagrid).
If IsDeferredScrollingEnabled=False on the XamDataGrids ScrollViewer and ScrollingMode of XamDataGrid is DeferredWithScrollTips, the second ScrollViewer is scrolled immediately and not in deferred mode.
So, to solve this issue, I'd like to know if it is possible to update the ScrollTip otherwise and if it is possible that the scrolltip is shown when scrolling on the other ScrollViewer.
I also have thought of trying to set the scrollowner, but can't imagine how and if this would be the right thing to do.
Any suggestions on how this could be done?
Hello Marc,
It has been a while since you made your post, in case you still need support I will be glad to assist you further. I am unsure of exactly how you want to synchronize the two scroll areas. If possible please post a sample which illustrates the relationship between the two data views so I can better understand how the scrolling might work between them.
Sincerely,
Valerie
Developer Support Engineer
Infragistics
www.infragistics.com/support
<<prev post was truncated so adding again>>
Hi Valerie,I need to solve a similar issue.
I have two XamDataGrid controls and their horizontal scroll positions must be synchronized physically, not just logically. Difference between physical and logical scroll position is noticeable if ScrollingMode is NOT Immediate and I drag the scroll bar to scroll. I listen scrollViewer.ScrollChanged event from one data grid and call ScrollInfo.SetHorizontalOffset for another one applying logical offset value either from ScrollChangedEventArgs or from scrollViewer.HorizontalOffset (and these values are the same). But if I do it the second data grid behaves as its ScrollingMode is Immediate, although it’s Deferred, and the first data grid visually scrolls its content only when I releases the scroll bar (ScrollingMode == Deferred). If I had a way to get a REAL, physical offset value, I would apply it calling ScrollInfo.SetHorizontalOffset, so scrolling will be synchronized visually. Could you please advise?
Hi Valerie,
I need to solve a similar issue.
thanks for your reply. I was evaluating the XamDataGrid for use at university but at the moment I am working on other things.
But maybe, the problem is interesting for some other users:
I had two Scrollviewers, one with a XamDataGrid (on the left) and the other with a ListView-like control for graphical representation of the data in the XamDataGrid (on the right). When scrolling down, I wanted to have both Scrollviewers scroll down with deferred scrolling (as rendering the graphical representation was too expensive for non-deferred) AND show the ScrollTip of the XamDataGrid on both the Scrollbar of the XamDataGrid and the other control.
I solved the problem by hiding the second scrollbar, but what I wanted was to have two scrollbars or at least one scrollbar at the right border (and not between the both controls).
But as I already mentioned, at the moment I don't need a solution for this.
Thanks,
Marc