#xamarin.forms #cross-platform
#xamarin.forms #кроссплатформенный
Вопрос:
Я разработал главную страницу сведений для своего приложения. Здесь я просматриваю скриншоты своего приложения. Обзор домашней страницы
Я использую представление сетки данных для отображения своих данных.
но я не хочу скрывать свое меню.Я исправляю это на главном экране моего приложения только для приложения uwp.
Итак, после исправления я хочу показать свои данные в datagridview для остальной части экрана.
Я хочу отобразить меню.
Возможно ли это с использованием дизайна главной страницы сведений.
Как я могу это сделать, пожалуйста, любое предложение или пример кода.
заранее спасибо.
Настраиваемый экран, который я хочу:-
Комментарии:
1. Привет, разработчики, есть предложения по этому поводу
2. Привет, вы имеете в виду, что хотите скрыть или показать меню на главной странице сведений при запуске приложения?
3. да …. точно ….. Как я могу это сделать … Фактически мои требования к проекту — это фиксированное меню.
4. Хорошо, вы можете настроить MasterDetailPageRenderer для достижения этой цели.
Ответ №1:
Вы можете создать MasterDetailPageRenderer в решении UWP следующим образом:
[assembly: ExportRenderer(typeof(AppMasterDetailDemo.Views.MainPage), typeof(CustomMasterDetailRenderer))]
namespace AppMasterDetailDemo.UWP
{
public class CustomMasterDetailRenderer: MasterDetailPageRenderer
{
protected override void OnElementChanged(ElementChangedEventArgs<MasterDetailPage> e)
{
base.OnElementChanged(e);
if (Control != null)
{
Control.CollapsedPaneWidth = 0;
Control.CollapseStyle = Xamarin.Forms.PlatformConfiguration.WindowsSpecific.CollapseStyle.Partial;
Control.MasterToolbarVisibility = Windows.UI.Xaml.Visibility.Collapsed;
Control.DetailTitleVisibility = Windows.UI.Xaml.Visibility.Collapsed;
Control.MasterTitleVisibility = Windows.UI.Xaml.Visibility.Collapsed;
Control.ContentTogglePaneButtonVisibility =
Windows.UI.Xaml.Visibility.Collapsed;
}
}
}
}
Затем в формах Xamarin, установленных следующим образом, можно скрыть кнопку меню.
NavigationPage.SetHasBackButton(this, false);
NavigationPage.SetHasNavigationBar(this, false);
Или измените false
на true
, может отображаться снова.
Эффект: