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のは、メインページと同じレベルにある新しいページ。また、GetMainPage()メソッドでコードを変更することをお勧めする人もいます。私は私のアプリケーションでGetMainPage()を持っていません。
私はこれを理解しているか分からない。 – adityawho
あなたのXFの出発点はMainPageです(別の名前を使用するためにあなたの "MainPage"を変更する必要があります...)。 App.csでは、ポスト –
https://developer.xamarin.com/samples/xamarin-forms/Navigation/で提案したように、このMainPageをNavigationPageに設定する必要があります。XFでナビゲーションを使用するサンプルがたくさんあります –