Tuesday 15 April 2014

c# - Prevent GroupItem Headers from Scrolling Horizontally -



c# - Prevent GroupItem Headers from Scrolling Horizontally -

i've got datagrid grouped info groupitem headers show left of actual info rows show below:

however, when scroll horiztonally can see grouping item headers scroll point no longer visible on screen.

is there anyway prevent groupitem headers scrolling?

below xaml grouping style:

<style x:key="severitymodificationfactorgroupitemstyle" targettype="{x:type groupitem}"> <setter property="template"> <setter.value> <controltemplate> <controltemplate.resources> <storyboard x:key="hoveron"> <doubleanimationusingkeyframes begintime="00:00:00" storyboard.targetname="hover" storyboard.targetproperty="(uielement.opacity)"> <splinedoublekeyframe keytime="00:00:00.2000000" value="1"/> </doubleanimationusingkeyframes> </storyboard> <storyboard x:key="hoveroff"> <doubleanimationusingkeyframes begintime="00:00:00" storyboard.targetname="hover" storyboard.targetproperty="(uielement.opacity)"> <splinedoublekeyframe keytime="00:00:00.3000000" value="0" /> </doubleanimationusingkeyframes> </storyboard> <storyboard x:key="selectedon"> <doubleanimationusingkeyframes begintime="00:00:00" storyboard.targetname="select_gradient" storyboard.targetproperty="(uielement.opacity)"> <splinedoublekeyframe keytime="00:00:00.1000000" value="1" /> </doubleanimationusingkeyframes> </storyboard> <storyboard x:key="selectedoff"> <doubleanimationusingkeyframes begintime="00:00:00" storyboard.targetname="select_gradient" storyboard.targetproperty="(uielement.opacity)"> <splinedoublekeyframe keytime="00:00:00.3000000" value="0" /> </doubleanimationusingkeyframes> </storyboard> </controltemplate.resources> <grid background='transparent' > <grid.columndefinitions> <columndefinition width='auto' /> <columndefinition width='auto' /> <columndefinition width='*' /> <columndefinition width='auto' /> </grid.columndefinitions> <rectangle x:name="backgroundrectangle" grid.columnspan="4" grid.rowspan="2" fill="{staticresource normalbrush}" stretch="fill" stroke="{staticresource normalborderbrush}" strokethickness="1" /> <rectangle x:name="hover" grid.columnspan="4" grid.rowspan="2" stretch="fill" fill="{staticresource mouseoverbrush}" opacity="0" /> <border margin="0,5,0,3"> <grid background="transparent"> <grid.columndefinitions> <columndefinition width="20"/> <columndefinition width="160"/> <columndefinition width="60"/> <columndefinition width="80"/> <columndefinition width="*"/> </grid.columndefinitions> <border grid.column="0" borderbrush="{staticresource normalborderbrush}" borderthickness="0,0,1,0" margin="0,-5,0,-3"> <checkbox grid.column="0" ischecked="{binding items[0].isselected}" horizontalalignment="center" verticalalignment="center" command="{binding path=datacontext.setlayeryearlosstableisselectedcommand, relativesource={relativesource ancestortype=usercontrol}}" commandparameter="{binding items[0]}> </checkbox> </border> <border grid.column="1" borderbrush="{staticresource normalborderbrush}" borderthickness="0,0,1,0" margin="0,-5,0,-3"> <textblock grid.column="1" text="{binding items[0].yearlosstablename}" fontweight="bold" verticalalignment="center" textwrapping="wrap"/> </border> <border grid.column="2" borderbrush="{staticresource normalborderbrush}" borderthickness="0,0,1,0" margin="0,-5,0,-3"> <checkbox grid.column="2" ischecked="{binding items[0].isinuring}" horizontalalignment="center" verticalalignment="center" command="{binding path=datacontext.setisinuringcommand, relativesource={relativesource ancestortype=usercontrol}}" commandparameter="{binding items[0]}"> </checkbox> </border> <border grid.column="3" borderbrush="{staticresource normalborderbrush}" borderthickness="0,0,1,0" margin="0,-5,0,-3"> <textbox grid.column="3" text="{binding items[0].marketshare, mode=twoway, stringformat=p2, converter={staticresource decimalpercentageconverter}, validatesondataerrors=true}" horizontalalignment="center" verticalalignment="center" minwidth="60"> <i:interaction.triggers> <i:eventtrigger eventname="textchanged"> <i:invokecommandaction command="{binding path=datacontext.setmarketsharecommand, relativesource={relativesource ancestortype=usercontrol}}" commandparameter="{binding items[0]}"/> </i:eventtrigger> </i:interaction.triggers> </textbox> </border> <itemspresenter grid.column="4"/> </grid> </border> </grid> <controltemplate.triggers> <trigger property="ismouseover" value="true"> <trigger.enteractions> <beginstoryboard storyboard="{staticresource hoveron}"/> </trigger.enteractions> <trigger.exitactions> <beginstoryboard storyboard="{staticresource hoveroff}"/> </trigger.exitactions> </trigger> </controltemplate.triggers> </controltemplate> </setter.value> </setter> </style>

and actual datagrid:

<datagrid itemssource="{binding severitymodificationfactorsgrouped}" autogeneratecolumns="false" canuseraddrows="false" minrowheight="25" panel.zindex="0" arerowdetailsfrozen="false"> <datagrid.groupstyle> <groupstyle containerstyle="{staticresource severitymodificationfactorgroupitemstyle}"> <groupstyle.panel> <itemspaneltemplate> <datagridrowspresenter/> </itemspaneltemplate> </groupstyle.panel> </groupstyle> </datagrid.groupstyle> <datagrid.columns> <datagridtextcolumn header="{staticresource accumulationperilheader}" binding="{binding accumulationperilname}"/> <datagridtemplatecolumn celltemplate="{staticresource exposuregrowthreadonlycelltemplate}"> ... </datagrid>

c# xaml wpfdatagrid horizontal-scrolling groupstyle

No comments:

Post a Comment