Окно навигации WPF с большим количеством элементов управления - PullRequest
1 голос
/ 26 апреля 2011

Я изучаю WPF, и в частности NavigationWindow.Я хочу добавить материал в окно, например строку состояния, панель избранного и т. Д. К сожалению, когда я пытаюсь что-либо добавить, я получаю сообщение об ошибке.

Я надеюсь, что страницы могут быть добавлены в закладки, когда кто-то просматривает их;позволить пользователю перетаскивать страницы до любимой панели.

Что-то похожее в строке состояния;Я хотел бы, чтобы в строке состояния была указана информация, относящаяся к конкретным страницам, без необходимости указывать ее на каждой отдельной странице.

Возможно ли это с окном навигации или я лаю неправильное дерево?

Редактировать:

<NavigationWindow x:Class="Window2"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Nav Test" Height="300" Width="300" Source="Window1.xaml" >
    <StatusBar></StatusBar> ' The type 'NavigationWindow' does not support direct content.
</NavigationWindow>

Обновление, с чем я поехал:

<Window x:Class="MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Tracks" Height="350" Width="525">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="20" />
            <RowDefinition Height="26" />
            <RowDefinition Height="265*" />
        </Grid.RowDefinitions>
        <Menu Name="Menu1" />
        <Frame Grid.Row="2" Name="Frame1" Source="PageSearchResults.xaml" />
        <ToolBar Grid.Row="1" Name="ToolBar1" >
            <Button Content="+" Name="Button1" />
        </ToolBar>
    </Grid>
</Window>

В итоге я поместил строку состояния на отдельные страницы, чтобы мне было легче менять то, чтоотображается на странице, но панель инструментов хорошо работает с рамкой.

Ответы [ 2 ]

2 голосов
/ 02 мая 2011

Если вы хотите, чтобы ваш собственный контент был отделен от страницы, не используйте NavigationWindow. Вместо этого используйте обычное окно. Затем в том месте, где вы хотите, чтобы ваш навигационный контент, добавьте Frame . Frame поддерживает все ту же навигацию, которую вы можете сделать с помощью NavigationWindow (на самом деле NavigationWindow - это просто окно с заполнением его фреймом).

1 голос
/ 27 апреля 2011

Я тоже новичок в WPF, но я считаю, что NavigationWindow нужна стартовая «Страница», и что все ваши элементы управления должны быть добавлены на эту страницу, а не NavigationWindow, это само по себе.Вы можете добавить фрейм на стартовую страницу и выполнить навигацию к другим страницам из этого фрейма, в то время как стартовая страница может содержать вашу любимую строку, строку состояния и т. Д.

...