Я пытаюсь перемещаться между страницами с помощью listitems, но не работает. Моя домашняя страница MainPage.xaml и я хочу, чтобы перейти к «АБВ», когда я нажимаю на изображение Аба в ListViewНавигация между страницами с помощью ListView в UWP
Вот мой код:
namespace abc
{
public sealed partial class MainPage : Page
{
ObservableCollection<Class1> list1 = new ObservableCollection<Class1>();
public MainPage()
{
this.InitializeComponent();
Filldata();
}
void Filldata()
{
list1.Add(new Class1 { name = "Aba", image = "ms-appx:///images/aba.png" });
list1.Add(new Class1 { name = "Al", image = "ms-appx:///images/al.png" });
}
private void itemclicked(object sender, ItemClickEventArgs e)
{
var nme = (Class1)e.ClickedItem;
switch (nme.name)
{
case "Aba":
Frame.Navigate(typeof(xyz),null);
break;
}
}
}
}
MainPage.xaml
<ListView x:Name="list" ItemClick="itemclicked">
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Image Height="100" Width="100" Source="{Binding image}"></Image>
<TextBlock Text="{Binding name}" HorizontalAlignment="Center"></TextBlock>
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
Class1.cs
class Class1
{
public String name { get; set; }
public String image { get; set; }
}
Думаю, нам нужно больше информации для продолжения. Каково текущее поведение при нажатии на элемент списка? Действительно ли это делается для вызова метода навигации, но не перемещается? Класс dows «xyz» наследуется со страницы? –
Не сразу понятно, почему вы не вызываете перегрузку [Frame.Navigate (TypeName)] (https://msdn.microsoft.com/en-us/library/windows/apps/hh702396.aspx). Во всяком случае, есть возвращаемое значение, которое вы игнорируете. – IInspectable
Я только что протестировал его, и проблема в том, что не включены элементы списка «enabled» ... вам нужно добавить IsItemClickEnabled = «True» в ваш ListView, я написал ответ, вы можете увидеть его в разделе ответа. –