0

RadDock コントロールに基づいて、テンプレート化された ASP.NET ユーザー コントロールを作成しました。ただし、そのようなコントロールを RadDockZone に追加すると、RadDock コントロールのみを含むことができるというランタイム エラーが発生します。これを解決する方法はありますか?

テンプレート化されたユーザー コントロール マークアップ

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="TemplatedDock.ascx.cs" Inherits="TemplatedDock" %>
<telerik:RadDock ID="RadDock1" runat="server" EnableAnimation="True" DockHandle="Grip"     Resizable="True">
    <ContentTemplate>
        <asp:PlaceHolder ID="dockPlaceholder" runat="server"></asp:PlaceHolder>
    </ContentTemplate>
</telerik:RadDock>

テンプレート化されたユーザー コントロールのコード ビハインド

public partial class TemplatedDock : System.Web.UI.UserControl
{
    private ITemplate _content;

    [TemplateContainer(typeof(ContentContainer))]
    [PersistenceMode(PersistenceMode.InnerProperty)]
    [TemplateInstance(TemplateInstance.Single)]
    public ITemplate Content
    {
        get
        {
            return _content;
        }
        set
        {
            _content = value;
        }
    }
    void Page_Init()
    {
        if (_content != null)
        {
            ContentContainer container = new ContentContainer();
            _content.InstantiateIn(container);
            dockPlaceholder.Controls.Add(container);
        }
    }
}
public class ContentContainer : Control, INamingContainer{}

}

RadDockZoneでの使用

<telerik:RadDockZone ID="RadDockZone1" runat="server">
    <a:TemplatedDock>
        <Content>
             <telerik:RadGrid ID="someGrid" runat="server"></telerik:RadGrid>
        </Content>
    </a:TemplatedDock>
</telerik:RadDockZone>
4

1 に答える 1