c# - Custom ListView Control -
so, have been looking solution more 12 hours(but without success). how should change listview controltemplate effect this:
(this question buttons working scrollview)
have ideas how create control this?
it's vertical representation, idea understood: hide scrollbars , manipulate them manually. more responsive ui you'll need subscribe mousedown event instead of click, nullreference exceptions possible on every line of grid_click().
xaml:
<listview.template> <controltemplate> <grid buttonbase.click="grid_click"> <grid.rowdefinitions> <rowdefinition height="16"/> <rowdefinition height="*"/> <rowdefinition height="16"/> </grid.rowdefinitions> <button content="^" grid.row="0"/> <button content="v" grid.row="2"/> <scrollviewer grid.row="1" verticalscrollbarvisibility="hidden"> <itemspresenter/> </scrollviewer> </grid> </controltemplate> </listview.template>
code:
private void grid_click(object sender, routedeventargs e) { bool down = (e.originalsource button).content string == "v"; var scroller = visualtreehelper.getchild((e.originalsource button).parent, 2) scrollviewer; scroller.scrolltoverticaloffset(scroller.verticaloffset + (down ? 1 : -1)); }
magical number 2 in getchild() index of scrollviewer inside parent (grid).
Comments
Post a Comment