Xamarin C # - использует страницу навигации или ListView в TabbedPage - PullRequest
0 голосов
/ 21 марта 2019

изображение

см. Изображение выше.Это страница с вкладками с 4 вкладками.Могу ли я узнать, как мы можем выполнить это действие?Когда пользователь щелкает по списку, он переходит на новую страницу (за пределами страницы с вкладками).Затем он может вернуться к TabbedPage при нажатии кнопки «Назад».Это использует ListView или страницу навигации?Пожалуйста, порекомендуйте.спасибо.

1 Ответ

0 голосов
/ 22 марта 2019

1.создать страницу с вкладками и установить ее в качестве главной страницы приложения.

enter image description here

в приложении. Xaml.cs

public App()
{
   InitializeComponent();

   MainPage = new NavigationPage(new MyTabbedPage());
}

2. Поместите страницу содержимого на странице с вкладками, которая содержит вид списка.

Например, я помещаю просмотр списка в MainPage.

<?xml version="1.0" encoding="utf-8" ?>
<TabbedPage xmlns="http://xamarin.com/schemas/2014/forms"
         xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
        xmlns:local="clr-namespace:App8"
         x:Class="App8.MyTabbedPage">
<!--Pages can be added as references or inline-->
  <ContentPage Title="Tab 1" Icon="xxx.png"/> //set the title and icon of toolbar item
  <local:MainPage Title="Tab 1" Icon="xxx.png"/>
  <ContentPage Title="Tab 1" Icon="xxx.png"/>
</TabbedPage>

в MainPage.xaml

<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
         xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
         xmlns:local="clr-namespace:App8"
         x:Class="App8.MainPage">

<ListView  x:Name="listView" ItemTapped="ListView_ItemTapped" >
    <ListView.ItemTemplate>
        <DataTemplate>
            <ViewCell Height="30">
               ...
            </ViewCell>
        </DataTemplate>
    </ListView.ItemTemplate>
</ListView>

</ContentPage>

3.При нажатии на элемент списка просмотра перейдите на новую страницу содержимого, содержащую ваш другой просмотр списка

в MainPage.xaml.cs

private void ListView_ItemTapped(object sender, ItemTappedEventArgs e)
{
  Navigation.PushAsync(new xxxContentPage(),true);
}
...