c# - WPF fixed rows are resizing -


i'm new in wpf , try creat specific usercontrol display data single product. used grid inside usercontrol. create 5 columns , 3 rows. want ot make 4 columns fixed (image, green-clored, blue-colored , column controls) , last column (orange-colored) fill availabel space. here xaml , few screenshots:

<grid margin="0,0,0,5" background="#ffdcd9d9" >     <grid.columndefinitions>         <columndefinition width="80" />         <columndefinition width="70" />         <columndefinition width="70" />         <columndefinition width="70" />         <columndefinition width="*" />     </grid.columndefinitions>     <grid.rowdefinitions>         <rowdefinition height="auto" />         <rowdefinition height="auto" />         <rowdefinition height="auto" />         <rowdefinition height="auto" />     </grid.rowdefinitions>      <image grid.column="0" grid.row="0" grid.rowspan="4" source="{binding itemthumbnailurl}" stretch="none" horizontalalignment="right" margin="5,0"  />     <stackpanel  grid.column="1" grid.row="0" grid.columnspan="4" background="#ffda6f6f">         <label  borderthickness="0" content="dsgsdgsgsgsdgsdg sd " fontsize="13.333" fontweight="bold"  horizontalalignment="left" />     </stackpanel>     <stackpanel grid.column="1" grid.row="1" orientation="horizontal" background="#ff517823" horizontalalignment="left" width="70">         <label  content="{binding itemprice}" horizontalalignment="left" fontsize="9.333" width="45" />         <label content="грн." horizontalalignment="left" fontsize="9.333" width="25"/>     </stackpanel>     <stackpanel grid.column="2" grid.row="1" orientation="horizontal" background="#ff214299" horizontalalignment="left" width="70">         <label  content="{binding quantity}" horizontalalignment="left" fontsize="9.333" width="45" />         <label content="шт." horizontalalignment="left" fontsize="9.333" width="25"/>     </stackpanel>     <stackpanel grid.column="1" grid.row="2" orientation="horizontal" background="#ff88b91e" horizontalalignment="left" width="70">         <label  content="1С" horizontalalignment="right" fontsize="9.333" foreground="#ff8b8888" width="45"/>         <label content="грн." horizontalalignment="right" fontsize="9.333" foreground="#ff8b8888" width="25"/>     </stackpanel>      <stackpanel grid.column="2" grid.row="2" orientation="horizontal" background="#ff228cbd" horizontalalignment="left" width="70">         <label  content="1С" horizontalalignment="right" fontsize="9.333" foreground="#ff8b8888" width="45"/>         <label content="шт." horizontalalignment="right" fontsize="9.333" foreground="#ff8b8888" width="25"/>     </stackpanel>      <checkbox grid.column="3" grid.row="1" horizontalalignment="center" verticalalignment="center"/>     <button grid.column="3" grid.row="2" background="{x:null}" content="Редакт." foreground="#ff444343" width="50" horizontalalignment="center" verticalalignment="center" />      <label grid.column="4" grid.rowspan="2" grid.row="1" background="#ffe08212" horizontalcontentalignment="stretch"  /> </grid> 

if have "title" text (in red-colored cell) less sum of 3 fixed columns, ok, if text larger have problems paddings between columns (please see pictures) enter image description hereenter image description here

so how can resolve problem?

i reproduce issue in variety of cases when grid used in datatemplate. removed stackpanel , used textblock, a textblock hosted in separate grid, same result. guess going wrong when wpf determining required size. have occurred kind of strange behaviour in grids (when part of itemtemplate). if need quick workaround should trick

                    <grid.columndefinitions>                         <columndefinition minwidth="80" maxwidth="80" />                         <columndefinition minwidth="70" maxwidth="70" />                         <columndefinition minwidth="70" maxwidth="70" />                         <columndefinition minwidth="70" maxwidth="70" />                         <columndefinition width="*" />                     </grid.columndefinitions>                     <grid.rowdefinitions>                         <rowdefinition height="auto" />                         <rowdefinition height="auto" />                         <rowdefinition height="auto" />                         <rowdefinition height="auto" />                     </grid.rowdefinitions> 

Comments

Popular posts from this blog

Hatching array of circles in AutoCAD using c# -

ios - UITEXTFIELD InputView Uipicker not working in swift -

Python Pig Latin Translator -