为什么我在更改页面时关闭应用程序?

时间:2015-04-06 14:07:09

标签: c# xaml listview windows-phone-8.1

我有两个List<>。

List<Musei> ListMusei;
List<Regioni> reg;

对象&#34; Musei&#34;拥有物业&#34; Paese&#34;,而物体&#34; Regioni&#34;拥有该物业&#34; NomeProvincia&#34;。 列表&#34; reg&#34;在ListView中插入,当按下项目时,将调用此方法:

private void Listviewcitt_ItemClick(object sender, ItemClickEventArgs e)
{
    var result = ((Regioni)e.ClickedItem).NomeProvincia.ToString();
    var filtro = ListMusei.Where(x => x.Paese.Equals(result));
    try
    {
        Frame.Navigate(typeof(PageAroundMe), filtro);
    }
    catch(Exception)
    {
    }
} 

我总是关闭的应用程序。我认为在&#34; AroundMe&#34;中存在一些问题,然后在此处粘贴代码: 在Page AroundMe中,我这样做:

 List<Musei> ListMusei;

protected async override void OnNavigatedTo(NavigationEventArgs e)
{
    ListMusei = (List<Musei>) e.Parameter;
    List<Pushpin> push = new List<Pushpin>();

    foreach (Musei SingoloMuseo in ListMusei)
    {
        Pushpin Pushpin pushpin1 = new ();
        GeoPoint posizioneP;
        try
        {
            MapLocationFinderResult result = await MapLocationFinder.FindLocationsAsync (SingoloMuseo.Indirizzo, null);
            posizioneP result.Locations.FirstOrDefault = ().Point;
            pushpin1.Name = SingoloMuseo.NomeMuseo;
            pushpin1.Location = posizioneP;
            push.Add (pushpin1);
        }
        catch (Exception)
        {
             continue;
        }
}

问题出在哪里?我甚至无法弄清楚我将关闭的地方

1 个答案:

答案 0 :(得分:0)

您可以传递参数

 Frame.Navigate(typeof(PageAroundMe), filtro.ToList());

发生无效的强制转换异常是因为您尝试将IEnumerable类型强制转换为List。