0

タブ付きのインターフェイスを使用してアプリケーションを作成しようとしています。今のところ私はこの種のインターフェースを持っています ここに画像の説明を入力してください

このコードで

<Window x:Class="BMG.BackOffice.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"        
    Title="MainWindow" Height="572" Width="776">

<TabControl>
    <TabItem>
        <TabItem.Header>
            <TextBlock>
                tab1
            </TextBlock>
        </TabItem.Header>
        <Label>Test for tab1</Label>
    </TabItem>

    <TabItem>
        <TabItem.Header>
            <TextBlock>
                tab2
            </TextBlock>
        </TabItem.Header>
    </TabItem>

    <TabItem>
        <TabItem.Header>
            <TextBlock>
                tab3
            </TextBlock>
        </TabItem.Header>            
    </TabItem>

    <TabItem>
        <TabItem.Header>
            <TextBlock>
              tab4
            </TextBlock>
        </TabItem.Header>
    </TabItem>
</TabControl>

私はすでに他のウィンドウを書いていますが、これらのウィンドウをタブ(タブのウィンドウ)に「挿入」することは可能でしょうか。したがって<Label>Test for tab1</Label> 、ウィンドウ(.xamlファイル)に置き換える

返信ありがとうございます

4

2 に答える 2

1

通常、これらのウィンドウコントロールをUserControlsに変換してから、それらをTabItems内に埋め込みます。

<TabItem>
        <TabItem.Header>
            <TextBlock>
                tab1
            </TextBlock>
        </TabItem.Header>
        <MyUserControl />
</TabItem>

別のウィンドウ内にウィンドウを含めることができるかどうかはわかりませんが、この質問を読むと、Thomas Levesqueは、タブアイテム内に別のウィンドウを含めることはできないと述べています。

于 2011-04-16T22:06:08.117 に答える
1

ウィンドウ自体を別のコントロールの子にすることはできないため、ウィンドウをロードしてそのContentプロパティを取得できます。

これは非常に厄介であることに注意する必要があります。最善の解決策は、おそらくWindowのコンテンツをUserControlに変換することです。そうすれば、WindowとTabControlで使用でき、複合UIリファクタリングを呼び出すことができます。

于 2011-04-16T22:08:33.970 に答える