C# 在UWP中使用ListView在页面之间导航
我试图使用listitems在页面之间导航,但它不起作用。我的主页是MainPage.xaml,当我在listview中单击Aba图像时,我想导航到“xyz” 这是我的密码:C# 在UWP中使用ListView在页面之间导航,c#,xaml,listview,navigation,uwp,C#,Xaml,Listview,Navigation,Uwp,我试图使用listitems在页面之间导航,但它不起作用。我的主页是MainPage.xaml,当我在listview中单击Aba图像时,我想导航到“xyz” 这是我的密码: namespace abc { public sealed partial class MainPage : Page { ObservableCollection<Class1> list1 = new ObservableCollection<Class1>(); public
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;
}
}
}
}
您的ListView控件有问题,主要原因是您在XAML中的ListView中没有此属性: IsItemClickEnabled=“True” 因此,为了解决您的问题,请在XAML页面的ListView中添加此属性IsItemClickEnabled=“True”,如下所示:
<ListView x:Name="list"
ItemClick="itemclicked"
IsItemClickEnabled="True">
<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>
您的代码在导航方法和其他方面很好,但您需要“启用”要单击的项目,因此添加该属性以便可以将它们用于单击事件。您的ListView控件有问题,主要原因是您在XAML中的ListView中没有此属性: IsItemClickEnabled=“True” 因此,为了解决您的问题,请在XAML页面的ListView中添加此属性IsItemClickEnabled=“True”,如下所示:
<ListView x:Name="list"
ItemClick="itemclicked"
IsItemClickEnabled="True">
<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>
您的代码在导航方法和其他方面很好,但您需要“启用”要单击的项目,因此添加该属性以便可以将其用于单击事件。我认为我们需要更多信息才能继续。单击列表项时的当前行为是什么?它是否真的进入导航方法调用,但不导航?Dows类“xyz”继承自页面?还不清楚,为什么不调用重载。无论如何,有一个返回值是你们忽略的。我刚刚测试了它,问题是并没有“启用”列表项被点击。。。您需要将IsItemClickEnabled=“True”添加到您的ListView中,我编写了答案,您可以在答案部分看到它。我想我们需要更多信息来继续。单击列表项时的当前行为是什么?它是否真的进入导航方法调用,但不导航?Dows类“xyz”继承自页面?还不清楚,为什么不调用重载。无论如何,有一个返回值是你们忽略的。我刚刚测试了它,问题是并没有“启用”列表项被点击。。。您需要将IsItemClickEnabled=“True”添加到您的ListView中,我编写了答案,您可以在答案部分看到它。
<ListView x:Name="list"
ItemClick="itemclicked"
IsItemClickEnabled="True">
<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>