【发布时间】:2016-07-21 19:07:55
【问题描述】:
我正在尝试使用列表项在页面之间导航,但它不起作用。我的主页是 MainPage.xaml,当我单击列表视图中的 Aba 图像时,我想导航到“xyz”
这是我的代码:
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; }
}
【问题讨论】:
-
我认为我们需要更多信息才能继续。单击列表项时的当前行为是什么?它是否真的进入了 Navigate 方法调用,但没有导航? Dows 类“xyz”从页面继承?
-
不是很清楚,为什么你不调用重载Frame.Navigate(TypeName)。无论如何,您忽略了一个返回值。
-
我刚刚测试过,问题是没有“启用”的列表项被点击...你需要添加 IsItemClickEnabled="True" 到你的ListView,我写了答案,你可以看到它在答案部分。
标签: c# xaml listview navigation uwp