Здравствуйте! У меня есть страничное приложение WPF, навигация в котором организована в виде бокового меню, основанного на TreeView. В каждом TreeViewItem.Tag содержится Frame, привязанный к странице. Привожу фрагмент разметки:
<TreeView x:Name="tvSections" Margin="0,0,0,0" Grid.ColumnSpan="2" Background="LightSteelBlue" BorderBrush="{x:Null}" >
<TreeViewItem Header="Главная форма" IsSelected="True" IsExpanded="True" Cursor="Hand" FontSize="16">
<TreeViewItem.Tag>
<Frame Name="frame16" Margin="0,0,0,0" Source="Page_void.xaml" />
</TreeViewItem.Tag>
<TreeViewItem Header="Клиенты" IsExpanded="True" Cursor="Hand" FontSize="16" > // тут проблема
<TreeViewItem.Tag>
<Frame Name="frame17" Margin="0,0,0,0" Source="Page2.xaml" />
</TreeViewItem.Tag>
<TreeViewItem Header="Данные" Cursor="Hand">
<TreeViewItem.Tag>
<Frame Name="frame2" Margin="0,0,0,0" Source="Page2.xaml" />
</TreeViewItem.Tag>
</TreeViewItem>
<TreeViewItem Header="Записи" Cursor="Hand">
<TreeViewItem.Tag>
<Frame Name="frame7" Margin="0,0,0,0" Source="Page7.xaml" />
</TreeViewItem.Tag>
</TreeViewItem>
</TreeViewItem>
<TreeViewItem Header="Договора" IsExpanded="True" Cursor="Hand" FontSize="16" >
<TreeViewItem.Tag>
<Frame Name="frame18" Margin="0,0,0,0" Source="Page10.xaml" />// и тут проблема
</TreeViewItem.Tag>
<TreeViewItem Header="Абонементы" Cursor="Hand">
<TreeViewItem.Tag>
<Frame Name="frame10" Margin="0,0,0,0" Source="Page10.xaml" />
</TreeViewItem.Tag>
</TreeViewItem>
<TreeViewItem Header="Услуги" Cursor="Hand">
<TreeViewItem.Tag>
<Frame Name="frame9" Margin="0,0,0,0" Source="Page9.xaml" />
</TreeViewItem.Tag>
</TreeViewItem>
</TreeViewItem>
Необходимо сделать так, чтобы при клике пользователя на узлы дерева (Клиенты, Договора), они разворачивались/сворачивались, но отображаемая страница оставалась прежней. При выборе остальных TreeViewItem страница должна меняться на заданную в привязанном к нему Frame. Сейчас в проблемных местах у меня привязаны страницы, так как без них окно область tvSections становится совершенно пустой. Возможно ли реализовать задуманный план и как это сделать?
Подпишись на обработку событий разворачивания и в обработчике установи e.Handled = true;
Виртуальный выделенный сервер (VDS) становится отличным выбором
Нужно автоматизировать обновление кода на сервере, что б я изменял код у себя на компьютере, затем залил на GitHub, а затем подал команду серверу...
Пишу простейший файловый менеджер
В программе все работает хорошо, данные отправляются отправляются, но в Build перестает работатьПочему так происходит, как исправить? ошибок...