2015-08-29 3 views
2

Я разрабатываю приложение WinRT с меню гамбургера. Как я могу извлечь его как отдельный пользовательский элемент управления, чтобы уменьшить дублирование кода? Это меню одинаково на всех страницах.DRY в приложении WinRT

Или я могу создать главную страницу с меню и вставить другую страницу в нее? Как html iframe. Caliburn Micro может это сделать, но я не знаю, хорошая ли это идея.

Помогите мне организовать этот компонент.

+0

ну, инкапсулируйте весь код внутри usercontrol, вот и все, вы можете добавить его на столько страниц, сколько вам нужно – Gusman

+0

Вот пример того, как использовать usercontrols в WINRT: http://www.dotnetcurry.com/windowsapp/930/create-user-control-xaml-csharp – Gusman

+1

Вы пробовали это? https://github.com/ilio/HamburgerMenu/ –

ответ

1

Рекомендуется перевести элемент управления splitview на одну страницу (например, главную страницу) и перемещаться только по содержимому SplitView.Content.

<SplitView> 
     <SplitView.Pane> 
      <Button Content="Click"></Button> 
     </SplitView.Pane> 
     <SplitView.Content> 
      <Frame Name="MainFrame"></Frame> 
     </SplitView.Content> 
    </SplitView> 

Для навигации просто обменивать содержимое кадра:

MainFrame.Navigate(typeof(SomePage)); 
1

4 пути для достижения этой цели
1) создать элемент управления, так как вы указали Windows Phone 8.1, так как SplitView не существует там ,
2) управляет Купить Teleriks для WinRT (UI для Windows, Universal, только цели Windows, универсалии 8,1 атм) в стиле (все еще нужно работать ИМО)
3) Используйте, что свободный один выше в комментарии ...
4) Переместить в Windows 10, его в каркасе

как для использования с Caliburn.Micro привязывается к событию загрузки кадра, помещенному в область содержимого. Оттуда перемещайтесь как обычно. CM 3.0 Beta1 имеет пример этого с Windows 10 UAP

+0

Существует реализация для 8.1: https://github.com/FrayxRulez/SplitView – llvk

Смежные вопросы