在代码隐藏中设置RadPane的PaneGroup?

时间:2012-09-12 16:55:49

标签: c# silverlight xaml telerik code-behind

我在XAML中创建了一个带有rad窗格的窗格组,如下所示:

       <telerik:RadSplitContainer InitialPosition="DockedBottom" telerik:RadDocking.SerializationTag="RaddySplit">
              <telerik:RadPaneGroup telerik:RadDocking.SerializationTag="PaneGroup">
                 <telerik:RadPane Header="WW2 Adventure" telerik:RadDocking.SerializationTag="WW2">
                        <vws:ww2gamegrid  />
                 </telerik:RadPane>
                <telerik:RadPane Header="WW1 Adventure" telerik:RadDocking.SerializationTag="WW1">
                           <vws:ww1gamegrid  />
                </telerik:RadPane>
             </telerik:RadPaneGroup>
            </telerik:RadSplitContainer>

然而,这有一个问题,telerik RadDocking序列化中存在一个错误,因此当您部署带有附加选项卡的站点时,选项卡的数量将保留在客户端的浏览器隔离存储中。

因此,当我尝试部署新的Silverlight页面时,添加了“WW3gamegrid”(另一个RadPane),用户仍然返回与上面相同的代码。

用谷歌搜索了一下,似乎在后面的代码中添加它可以解决我的问题。考虑到这一点,如何在我的RadPane代码后面的RadPaneGroup添加.xaml.cs

问题的任何其他解决方案当然会很乐意听取:)

非常感谢。

我在后面的代码中的代码是从另一个网站窃取的,并没有完全实现,因为我不理解它。我把它放在xaml.cs文件的构造函数中

InitializeComponent();

 RadPane pane = new RadPane();
 pane.Title = "Pane2";
 pane.Header = "Pane2";
 pane.CanUserClose = false;
 pane.CanDockInDocumentHost = false;
 pane.Content = new Button() { Content = "button2" };
 pane.Tag = "tag";
 pane.PaneGroup();
 RadDocking.SetSerializationTag(pane, "abc"); 

我怎样才能使这个等同于上面的xaml,基本上呢?

1 个答案:

答案 0 :(得分:3)

要将RadPane添加到RadPaneGroup,只需使用AddItem方法(请参阅Telerik documentation)。

RadPaneGroup paneGroup = new RadPaneGroup();

RadPane pane = new RadPane();
pane.Header = "WW1 Adventure";
pane.Content = new ww1gamegrid();
paneGroup.AddItem(pane, Telerik.Windows.Controls.Docking.DockPosition.Center);