0
我有一个ListView。我试图实现的是当我点击一个列表项目时,它应该导航到特定项目的另一个页面。 我收到一条消息,要求我使用导航页面(请参阅代码中的注释)。如何从ListItem导航到其相应的页面?
MainPage.xaml中
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:App1"
x:Class="App1.MainPage"
Title="MainPage">
<ContentPage.Content>
<StackLayout>
<Label Text="Dynamic ListView" HorizontalOptions="Center"></Label>
<ListView x:Name="lstView" HasUnevenRows="true">
</ListView>
</StackLayout>
</ContentPage.Content>
</ContentPage>
MainPage.xaml.cs中
public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
//BindingContext = this;
string[] courses =
{
"ADO.NET By Example",
"Xamarin.Android",
"Xamarin.iOS",
"Xamarin.Forms",
"JAVA EE: Java Server Pages",
"JAVA EE: Programming Servlets"
};
lstView.ItemsSource = courses;
lstView.ItemSelected += async (sender, e) =>
{
if (e.SelectedItem == null)
{
// don't do anything if we just de-selected the row
return;
}
else
{
if (e.SelectedItem.ToString() == "ADO.NET By Example")
{
await Navigation.PushAsync(new Project1()); /// It throws an error here saying I need to use a Navigation Page.
}
}
};
}
}
新页面PROJECT1处于同一水平的MainPage。另外,我发现有些人建议更改GetMainPage()方法中的代码。我的应用中没有GetMainPage()。
我不知道我明白这一点。 – adityawho
您的XF起始点是MainPage(您应该更改您的“MainPage”以使用其他名称...)。在App.cs中,您应该将此MainPage设置为导航页面,就像我在文章 –
中建议的那样https://developer.xamarin.com/samples/xamarin-forms/Navigation/您可以找到很多示例以使用XF中的导航 –