c# - stop Listview from capturing mouse scroll inside ScrollViewer in XAML -
hello i'm making uwp app, on 1 of pages want website experience, meaning long scroll on page.
i have listview inside pivot on page.
it looks this.
<scrollviewer x:name="scrollviewer" manipulationmode="all" scrollviewer.isverticalscrollchainingenabled="true" verticalscrollbarvisibility="auto"> <relativepanel> <image /> <pivot> <listview /> </pivot> <other stuff /> </relativepanel>
now problem that, mouse scroll works fine when im holding mouse on object except listview, mouse on listview scroll dont work.
i have tried creating custom listview style dont work.
<style x:key="noscrolllistviewstyle" targettype="listview"> <setter property="istabstop" value="false" /> <setter property="tabnavigation" value="once" /> <setter property="isswipeenabled" value="false" /> <setter property="scrollviewer.horizontalscrollbarvisibility" value="disabled" /> <setter property="scrollviewer.verticalscrollbarvisibility" value="disabled" /> <setter property="scrollviewer.horizontalscrollmode" value="disabled" /> <setter property="scrollviewer.ishorizontalrailenabled" value="false" /> <setter property="scrollviewer.verticalscrollmode" value="disabled" /> <setter property="scrollviewer.isverticalrailenabled" value="false" /> <setter property="scrollviewer.zoommode" value="disabled" /> <setter property="scrollviewer.isdeferredscrollingenabled" value="false" /> <setter property="scrollviewer.bringintoviewonfocuschange" value="true" /> <setter property="itemcontainertransitions"> <setter.value> <transitioncollection> <adddeletethemetransition /> <contentthemetransition /> <reorderthemetransition /> <entrancethemetransition isstaggeringenabled="false" /> </transitioncollection> </setter.value> </setter> <setter property="itemspanel"> <setter.value> <itemspaneltemplate> <itemsstackpanel orientation="vertical" /> </itemspaneltemplate> </setter.value> </setter> <setter property="template"> <setter.value> <controltemplate targettype="listview"> <border borderbrush="{templatebinding borderbrush}" borderthickness="{templatebinding borderthickness}" background="{templatebinding background}"> <scrollviewer x:name="scrollviewer" automationproperties.accessibilityview="raw" bringintoviewonfocuschange="{templatebinding scrollviewer.bringintoviewonfocuschange}" horizontalscrollmode="disabled" horizontalscrollbarvisibility="hidden" ishorizontalrailenabled="false" ishorizontalscrollchainingenabled="false" isverticalscrollchainingenabled="false" isverticalrailenabled="false" isdeferredscrollingenabled="false" tabnavigation="{templatebinding tabnavigation}" verticalscrollbarvisibility="disabled" verticalscrollmode="disabled" zoommode="disabled"> <itemspresenter footertransitions="{templatebinding footertransitions}" footertemplate="{templatebinding footertemplate}" footer="{templatebinding footer}" headertemplate="{templatebinding headertemplate}" header="{templatebinding header}" headertransitions="{templatebinding headertransitions}" padding="{templatebinding padding}" /> </scrollviewer> </border> </controltemplate> </setter.value> </setter> </style>
any ideas?
on solution cross mind capture pointerwheelchanged
event , move scrollview
:
private void listview_pointerwheelchanged(object sender, pointerroutedeventargs e) { scrollview.scrolltoverticaloffset(scrollview.verticaloffset - e.getcurrentpoint(scrollview).properties.mousewheeldelta); }
Comments
Post a Comment