or
| [DefaultProperty("Text")] |
| [ToolboxData("<{0}:MySplitter runat=server></{0}:MySplitter>")] |
| public class MySplitter : WebControl, INamingContainer |
| { |
| private RadSplitter mainSplitter; |
| private RadPane leftPane; |
| private RadSlidingZone leftPaneSlidingZone; |
| private RadSlidingPane leftPaneSlidingPane; |
| private RadPane rightPane; |
| private RadSplitBar splitBar; |
| protected override void CreateChildControls() |
| { |
| // ----------- create the splitter control |
| mainSplitter = new RadSplitter(); |
| mainSplitter.EnableEmbeddedSkins = false; |
| mainSplitter.EnableTheming = true; |
| // ----------- create the panes and splitbars |
| leftPane = new RadPane(); |
| leftPaneSlidingZone = new RadSlidingZone(); |
| leftPaneSlidingPane = new RadSlidingPane(); |
| rightPane = new RadPane(); |
| splitBar = new RadSplitBar(); |
| leftPane.Controls.Clear(); |
| leftPaneSlidingPane.ID = "lftSlidingPane"; |
| leftPaneSlidingPane.Title = "test"; |
| // add content to leftPaneSlidingPane |
| Label label1 = new Label(); |
| label1.Text = "Content of Left Pane"; |
| leftPaneSlidingPane.Controls.Add(label1); |
| // Place sliding pane inside sliding zone |
| leftPaneSlidingZone.ID = "lftPaneSlidingZone"; |
| leftPaneSlidingZone.Controls.Add(leftPaneSlidingPane); |
| // Place sliding zone inside the left pane |
| leftPane.Controls.Add(leftPaneSlidingZone); |
| rightPane.Controls.Clear(); |
| // add content to right pane |
| Label label2 = new Label(); |
| label1.Text = "Content of right Pane"; |
| rightPane.Controls.Add(label1); |
| mainSplitter.Items.Add(leftPane); |
| mainSplitter.Items.Add(splitBar); |
| mainSplitter.Items.Add(rightPane); |
| Controls.Add(mainSplitter); |
| } |
| [DefaultProperty("Text")] |
| [ToolboxData("<{0}:MySplitter runat=server></{0}:MySplitter>")] |
| public class MySplitter : WebControl, INamingContainer |
| { |
| private RadSplitter mainSplitter; |
| private RadPane leftPane; |
| private RadSlidingZone leftPaneSlidingZone; |
| private RadSlidingPane leftPaneSlidingPane; |
| private RadPane rightPane; |
| private RadSplitBar splitBar; |
| protected override void CreateChildControls() |
| { |
| // ----------- create the splitter control |
| mainSplitter = new RadSplitter(); |
| mainSplitter.EnableEmbeddedSkins = false; |
| mainSplitter.EnableTheming = true; |
| // ----------- create the panes and splitbars |
| leftPane = new RadPane(); |
| leftPaneSlidingZone = new RadSlidingZone(); |
| leftPaneSlidingPane = new RadSlidingPane(); |
| rightPane = new RadPane(); |
| splitBar = new RadSplitBar(); |
| leftPane.Controls.Clear(); |
| leftPaneSlidingPane.ID = "lftSlidingPane"; |
| leftPaneSlidingPane.Title = "test"; |
| // add content to leftPaneSlidingPane |
| Label label1 = new Label(); |
| label1.Text = "Content of Left Pane"; |
| leftPaneSlidingPane.Controls.Add(label1); |
| // Place sliding pane inside sliding zone |
| leftPaneSlidingZone.ID = "lftPaneSlidingZone"; |
| leftPaneSlidingZone.Controls.Add(leftPaneSlidingPane); |
| // Place sliding zone inside the left pane |
| leftPane.Controls.Add(leftPaneSlidingZone); |
| rightPane.Controls.Clear(); |
| // add content to right pane |
| Label label2 = new Label(); |
| label1.Text = "Content of right Pane"; |
| rightPane.Controls.Add(label1); |
| mainSplitter.Items.Add(leftPane); |
| mainSplitter.Items.Add(splitBar); |
| mainSplitter.Items.Add(rightPane); |
| Controls.Add(mainSplitter); |
| } |

Looks like when making successive calls to client side methods show()/hide() of treeview context menus to set visibility of a couple items both of them become “invisible”. What I found out is that the protected member "_styleCssText" has the content below:
"PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; OVERFLOW: hidden; PADDING-TOP: 0px; HEIGHT: 0px"
My solution was to reset it to an empty string right before calling show()/hide() for each menu item. Can you please confirm if this is the expected solution?
Thanks!