Добавить файл xaml в главное окно с вкладками

Я пытаюсь создать приложение с интерфейсом с вкладками. На данный момент у меня есть такой интерфейс введите описание изображения здесь

с этим кодом

<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>

I have already write other windows and I wonder if is it possible to "insert" these windows in the tabs (a window for a tab). So to replace <Label>Test for tab1</Label> by a window (.xaml file)

Спасибо за ответ


person bAN    schedule 16.04.2011    source источник


Ответы (2)


Обычно вы должны преобразовать эти элементы управления окна в UserControls, а затем встроить их в TabItems.

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

Я не знаю, можете ли вы иметь окно внутри другого окна, но читаете этот вопрос Томас Левеск говорит, что в элементе табуляции не может быть другого окна.

person Simon Stender Boisen    schedule 16.04.2011

Вы можете загрузить Window и получить его свойство Content, поскольку само Window не может быть дочерним элементом другого элемента управления.

Я должен отметить, что это очень беспорядочно. Лучшее решение, вероятно, состоит в том, чтобы превратить содержимое окна в UserControl, чтобы вы могли использовать его в Window и TabControl, я полагаю, однажды мог вызвать этот рефакторинг композитного пользовательского интерфейса.

person H.B.    schedule 16.04.2011