#wpf #vb.net #visual-studio-2010 #wpf-controls
#wpf #vb.net #visual-studio-2010 #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>
В итоге я разместил строку состояния на отдельных страницах, чтобы мне было легче изменять отображаемое от страницы к странице, но панель инструментов прекрасно работает с рамкой.
Комментарии:
1. Можете ли вы опубликовать свой код и что за сообщение об ошибке вы получаете?
Ответ №1:
Если вы хотите создать свой собственный контент отдельно от Страницы, то не используйте NavigationWindow. Вместо этого используйте обычное окно. Затем в том месте, где вы хотите разместить содержимое навигации, добавьте рамку. Frame поддерживает всю ту же навигацию, которую вы можете выполнять с помощью NavigationWindow (фактически, NavigationWindow — это, по сути, просто окно с заполняющей его рамкой).
Комментарии:
1. Да, это то, к чему я в итоге пришел. Кажется, пока все работает нормально. Сейчас просто пытаюсь разобраться с закладками посещенных страниц. Спасибо за ответ
Ответ №2:
Я тоже новичок в WPF, но я считаю, что для NavigationWindow нужна начальная «Страница» и что все ваши элементы управления должны быть добавлены на эту страницу, а не само NavigationWindow. Вы могли бы добавить фрейм на стартовую страницу и выполнять навигацию по другим страницам из этого фрейма, в то время как начальная страница могла бы содержать вашу любимую строку, строку состояния и т.д.
Комментарии:
1. Единственная проблема с этим заключается в том, что мне пришлось бы иметь статус и навигацию на каждой странице. возможно, со строкой состояния дело обстоит не хуже, но панель навигации / избранного не была бы практичной, я этого не делаю. Однако я изучаю фреймы.