Wednesday 15 August 2012

c# - WPF DockPanel Docking programatically -



c# - WPF DockPanel Docking programatically -

i'm trying write method creating multiple expanders dockpanel headers. reason can have text , button in each expander. i've been trying dock text left button aligned right of expander. expander should fill window's width; however, each new expander, margin on left increased. when done, there should multiple expanders increasing margins left, buttons should align on right. illustration (imagine without periods (.'s)):

text ..........button ....text ........button .......text ......button

expander newexpander = new expander(); dockpanel newdockpanel = new dockpanel(); dockpanel childdockpanel = new dockpanel(); newdockpanel.lastchildfill = false; newexpander.isexpanded = true; newexpander.horizontalalignment = horizontalalignment.stretch; newdockpanel.horizontalalignment = horizontalalignment.stretch; newdockpanel.verticalalignment = verticalalignment.stretch; newdockpanel.height = double.nan; childdockpanel.margin = new thickness(marginamount, 0, 0, 0); newexpander.content = childdockpanel; newexpander.width = double.nan; newdockpanel.width = newexpander.width; textblock task = new textblock(); button addtaskbutton = new button(); dockpanel.setdock(task, dock.left); dockpanel.setdock(addtaskbutton, dock.right); task.horizontalalignment = horizontalalignment.stretch; addtaskbutton.click += new routedeventhandler(add_click); task.text = microsoft.visualbasic.interaction.inputbox("enter in task", "new task", "", -1, -1); addtaskbutton.content = "↓"; newdockpanel.children.add(addtaskbutton); newdockpanel.children.add(task); newexpander.header = newdockpanel; dockpanel.setdock(newexpander, dock.top); maindockpanel.children.add(newexpander);

any ideas how can right align buttons? i've tried , without lastchildfill on, horizontalalignment.right button , horizontalalighment.stretch nil worked. looking in c# instead of xaml.

thank you.

c# wpf visual-studio-2010 xaml

No comments:

Post a Comment