簡體   English   中英

UWP覆蓋Frame.Navigate,將數據從ListViewItem傳遞到新的Page casues空異常

[英]UWP Overriding Frame.Navigate to pass data from ListViewItem to new Page casues Null Exception

我有這個XAML ListViewItem:

<ListView HorizontalAlignment="Center" Height="500" Margin="0,130,0,0"
              VerticalAlignment="Top" Width="400" x:Name="RoutesListView"
              SelectionChanged="RoutesListView_SelectionChanged"
              IsItemClickEnabled="True" SelectionMode="Single"
              ItemClick="RoutesListView_ItemClick">
        <ListView.ItemTemplate>
            <DataTemplate>
                <StackPanel >
                    <TextBlock Text="{Binding RouteName}" 
                       Margin="20,0,20,8"
                       FontFamily="Calibri"
                       FontSize="24
                       FontWeight="SemiBold"
                       Foreground="Gray" 
                       />
                </StackPanel>
            </DataTemplate>
        </ListView.ItemTemplate>
    </ListView>

在點擊處理程序中,我想將Route對象的ID發送到新頁面,如下所示:

private void RoutesListView_ItemClick(object sender, ItemClickEventArgs e)
    {

        var items = (sender as ListView).Items;
        var route = items[index] as Route;
        var id = route.ID;
        var data = new RouteParameters { ID = id };
        Frame.Navigate(typeof(RouteView), data);

    }

RouteParameters類如下所示:

 public class RouteParameters
{
    public int ID { get; set; }

}

最后,在RouteView中,我像這樣重寫OnNavigatedTo:

protected override void OnNavigatedTo(NavigationEventArgs e)
    {
        var p = e.Parameter as RouteParameters;
        int id = p.ID;


    }

我在Frame.Navigate方法中得到一個Null異常。 抱歉,如果我錯過了明顯的事情,但是在調試每一行並且看不到任何空對象之后,我無法找出導致錯誤的原因

好的,所以我發現我之前已經向RouteView類添加了一個參數,卻忘記了在嘗試將數據傳遞到新視圖的其他方法時將其刪除。 這不再是問題,我將在48小時內關閉該線程。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM