c# - Adding checkBoxes to UniformGrid -


i trying dynamically add checkboxes uniformgrid in wpf. looks grid doesn't allocate them enough space , kinda lay on each other. how add them in code behind:

foreach (string folder in subfolders) {   pathcheckbox chk = new pathcheckbox();   chk.content = new directoryinfo(folder).name;   chk.fullpath = folder;   chk.horizontalalignment = system.windows.horizontalalignment.stretch;   chk.verticalalignment = system.windows.verticalalignment.stretch;            unfiformgridsubfolders.children.add(chk); } 

this how xaml looks (i placed uniformgrid in scrollviewer)

<scrollviewer grid.column="1" grid.rowspan="3">   <uniformgrid x:name="unfiformgridsubfolders" grid.column="1" grid.row="0" grid.rowspan="3" verticalalignment="stretch" horizontalalignment="stretch"/> </scrollviewer>   

and how looks in program:

enter image description here

i want every checkbox has enough space, content can read.

do have to add ui elements dynamically? can't predefine checkbox template , add checkbox.content instead? if it's possible define observablecollection contains checkbox.contentlike this:

public observablecollection<string> subfoldernames { get; set; } 

then define itemscontrol , bind it's itemssource collection:

    <itemscontrol grid.row="0" x:name="gridsubfolders" itemssource="{binding subfoldernames}" grid.issharedsizescope="true">         <itemscontrol.itemspanel>             <itemspaneltemplate>                 <wrappanel></wrappanel>             </itemspaneltemplate>         </itemscontrol.itemspanel>         <itemscontrol.itemtemplate>             <datatemplate>                 <grid>                     <grid.columndefinitions>                         <columndefinition width="auto" sharedsizegroup="50" />                     </grid.columndefinitions>                     <border margin="5" borderthickness="1" borderbrush="black">                         <checkbox content="{binding}"/>                     </border>                 </grid>             </datatemplate>         </itemscontrol.itemtemplate>     </itemscontrol> 

this way, items have same width share size group, because sized auto, size largest checkbox.content.


Comments

Popular posts from this blog

angularjs - ADAL JS Angular- WebAPI add a new role claim to the token -

php - CakePHP HttpSockets send array of paramms -

node.js - Using Node without global install -