Окно навигации WPF с дополнительными элементами управления

Я изучаю 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>

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


person AndyD273    schedule 26.04.2011    source источник
comment
Можете ли вы опубликовать свой код и какое сообщение об ошибке вы получаете?   -  person bendewey    schedule 26.04.2011


Ответы (2)


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

person LPalmer    schedule 26.04.2011
comment
Единственная проблема заключается в том, что мне нужно было бы иметь статус и навигацию на каждой странице. может быть не хуже, чем строка состояния, панель навигации / избранного не будет практичной, я не думаю. Я смотрю на кадры, хотя. - person AndyD273; 27.04.2011

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

person Joe White    schedule 02.05.2011
comment
Да, это то, с чем я в итоге поехал. Кажется, пока работает нормально. Сейчас просто пытаюсь разобраться с закладками посещенных страниц. Спасибо за ответ - person AndyD273; 02.05.2011