c# - WPF - How do I get scollviewer to act proeprly? -


i have grid, , within grid have following:

<tabcontrol grid.column="0" grid.row="2" grid.columnspan="3">     <tabitem header="weapons">         <scrollviewer>             <datagrid>                 ...             </datagrid>          </scrollviewer>      </tabitem> </tabcontrol> 

so, have taken out stuff isn't needed show problem. when datagrid fills up, space requires grows. intended fill down far go, , scrollviewer rest. however, seems think can have unlimited length, , scrollviewer never scrolls.

i dont want manually set maxheight value, there moving content above tabcontrol change (plus window resizing etc). how scrollviewer not expand further limits of window / parent grid tabcontrol?

condensed "full" xaml:

<grid> <grid.columndefinitions>     <columndefinition />     <columndefinition />     <columndefinition /> </grid.columndefinitions> <grid.rowdefinitions>     <rowdefinition />     <rowdefinition />     <rowdefinition /> </grid.rowdefinitions>  <grid grid.row="0" grid.column="1">      <image source="{staticresource emptyslot}" margin="0" width="34"/>     <image source="{binding auraslot, fallbackvalue={staticresource auraslot}}" margin="0" width="34"/> </grid>  <popup allowstransparency="true" placement="relative" placementtarget="{binding elementname=mainwindowname}" isopen="{binding weapontooltipopen}" horizontaloffset="{binding weaponoffsetx}" verticaloffset="{binding weaponoffsety}" popupanimation="fade" opacitymask="white" >     ... </popup>  <grid grid.column="0" grid.row="1" grid.columnspan="3">      <expander orizontalalignment="center">         <expander.header>             <textblock text="equipment slots" horizontalalignment="center" />         </expander.header>          <grid grid.row="0" grid.column="1">             ...         </grid>      </expander> </grid>  <tabcontrol grid.column="0" grid.row="2" grid.columnspan="3">     <tabitem header="weapons">         <grid>             <scrollviewer cancontentscroll="true" >                 <datagrid grid.column="0" grid.row="2" grid.columnspan="3" itemssource="{binding groupedweapons}" autogeneratecolumns="false" isreadonly="true" alternatingrowbackground="gainsboro" alternationcount="2" rowheaderwidth="0">                     <datagrid.groupstyle>                         <groupstyle>                             ...                         </groupstyle>                     </datagrid.groupstyle>                      <datagrid.columns>                         ...                     </datagrid.columns>                      <datagrid.rowdetailstemplate>                         <datatemplate>                             <stackpanel>                                 ...                             </stackpanel>                         </datatemplate>                     </datagrid.rowdetailstemplate>                  </datagrid>             </scrollviewer>         </grid>     </tabitem>   </tabcontrol> </grid> 

if need vertical scrollbar try or change horizontalscrollbar. , cancontentscroll property true.

<tabcontrol grid.column="0" grid.row="2" grid.columnspan="3">     <tabitem header="weapons">        <scrollviewer grid.row="1" verticalscrollbarvisibility="auto"  cancontentscroll="true">             <stackpanel orientation="vertical">                 <gridview>                 ...                 </gridview>             </stackpanel>         </scrollviewer>      </tabitem> </tabcontrol> 

try if works, or update me back.

just try using window height if want of size of window. expand till gets size of window.


Comments