Dynamically toggle visibility of WPF grid column from C# code -
my problem is: can't find out how toggle visibility of wpf grid column. assume following xaml markup:
<grid x:name="mygrid"> <grid.rowdefinitions> <rowdefinition x:name="row1" /> <rowdefinition x:name="row2" /> </grid.rowdefinitions> <grid.columndefinitions> <columndefinition x:name="column1" /> <columndefinition x:name="column2" /> </grid.columndefinitions> </grid> aferwards grid filled controls etc. want hide single column dynamically out of c# code. i've tried achieving setting the column's definition width zero, e.g. column1.width = 0. works, don't solution - there no better way?
i'm looking mygrid.columns[0].visibility = collapsed or column1.visibility = hidden. can't find - ideas?
the simplest way add named grid top level control in relevant column want hide. can hide , of contents other control:
in xaml:
<grid x:name="mygrid"> <grid.rowdefinitions> <rowdefinition x:name="row1" /> <rowdefinition x:name="row2" /> </grid.rowdefinitions> <grid.columndefinitions> <columndefinition x:name="column1" /> <columndefinition x:name="column2" /> </grid.columndefinitions> <grid x:name="gridcolumn1" grid.column="1"> ... </grid> </grid> then in code behind:
gridcolumn1.visibility = visibility.collapsed; as have more 1 row in grid, may want rearrange them this:
<grid x:name="mygrid"> <grid.columndefinitions> <columndefinition x:name="column1" /> <columndefinition x:name="column2" /> </grid.columndefinitions> <grid x:name="gridcolumn0" grid.column="0"> <grid.rowdefinitions> <rowdefinition /> <rowdefinition /> </grid.rowdefinitions> </grid> <grid x:name="gridcolumn1" grid.column="1"> <grid.rowdefinitions> <rowdefinition /> <rowdefinition /> </grid.rowdefinitions> </grid> </grid> update >>>
it not necessary rearrange main grid this... could add 2 grid controls, 1 in each row of relevant column , set visibility of them both together:
innergrid1.visibility = innergrid2.visibility = visibility.collapsed; you add grid each cell of main grid , have full control on cells visible @ 1 time.
Comments
Post a Comment