8

このメインwpfウィンドウがあります WPF のメイン ウィンドウ

そしてこのWPFページ

WPF ページ

このページをメインウィンドウのタブコントロールに追加する必要があります

これは私の OnRender メソッドです

   protected override void OnRender(DrawingContext drawingContext)
    {
        if (ISFirstRender)
        {
            TabItem tabitem = new TabItem();
            tabitem.Header = "Tab 3";
            pan1.Items.Add(tabitem);
            Page1 page1 = new Page1();
            tabitem.Content = new Page1();

            ISFirstRender = false;
        }

        base.OnRender(drawingContext);
    }

アプリケーションの実行後、新しいタブの選択中にこの例外に直面しました tab3 を追加した後のメイン WPf ウィンドウ

タブ 3 を選択した後のエラー

wpf ページを既存の tabcontroll に追加する方法を知る必要があります

4

2 に答える 2

11

Pageではなく、新しい を追加する場合UserControlは、新しいFrameオブジェクトを作成してそこにページを配置できます。

    if (ISFirstRender)
    {
        TabItem tabitem = new TabItem();
        tabitem.Header = "Tab 3";
        Frame tabFrame = new Frame();
        Page1 page1 = new Page1();
        tabFrame.Content = page1;
        tabitem.Content = tabFrame;
        pan1.Items.Add(tabitem);

        ISFirstRender = false;
    }
于 2013-03-23T16:51:24.113 に答える
3

にユーザー コントロールを追加できますTabControl。したがって、新しい項目の追加に移動し、ユーザー コントロールを選択して、必要なものを作成します (ページにあるものなど)。次に、そのユーザー コントロールのインスタンスを に追加しますTabControl

protected override void OnRender(DrawingContext drawingContext)
{
    if (ISFirstRender)
    {
        TabItem tabitem = new TabItem();
        tabitem.Header = "Tab 3";
        pan1.Items.Add(tabitem);

        MyUserControl userControl = new MyUserControl();
        tabitem.Content = userControl;

        ISFirstRender = false;
    }

    base.OnRender(drawingContext);
}
于 2013-03-23T16:43:16.200 に答える