2013-08-22 71 views
0

在Panorama頁面上,我有一個LongListSelector和一些產品。當用戶點擊某個項目時,我想將其添加到下一個Panorama項目中的另一個LongListSelector。如果用戶點擊同一項目,我將在TextBlock上顯示數量,而不是再次將其添加到下一個列表中。我不知道如何開始它。我已經將這些項目添加到第一個列表中。如何將一個項目從一個LongListSelector複製到另一個?

有什麼想法?提前致謝。

回答

0

當用戶點擊列表中的項目時,在SelectionChanged事件中,您將獲得所選項目的對象。然後,將此項目添加到list2中,並檢查它是否已存在於list2中。

LongListSelectorSelectionChanged() 

    - if(SelectedItem in LIST2) 

    Display quantity in the textbox 
    return 

    - else 

    Add the SelectedItem in the LIST2 
    return 

我希望你的列表2是綁定到paranoma viewl一個視圖模型,這樣的觀點將盡快爲項目添加到列表2改變。

+0

當用戶點擊兩次相同的項目時,SelectionChanged不會被第二次觸發。 – anderZubi

+0

爲什麼不行?每次用戶點擊時它都會被觸發。 –

+0

如果您點擊當前選擇的項目,它不會被觸發 – anderZubi

1

我也會在selectchanged事件中處理它。

給了數據到下一個頁面的最簡單的方法是的parameterValue:

NavigationService.Navigate(new Uri("/SecondPage.xaml?msg=JSONSTRING", UriKind.Relative)); 

也許序列化對象的JSON字符串傳遞過來一樣繼續並重新desirialize它新的頁面上你的對象:

protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e) 
    { 
     base.OnNavigatedTo(e); 
     String productsJSON = NavigationContext.QueryString["msg"]; 
     YourProducts product = JsonConvert.DeserializeObject<YourProducts>(productsJSON); 

還是你的意思是在同一全景頁中的panoramaItem?

+0

我的問題沒有很好的闡述。第二個LongListSelector位於下一個panoramaItem上。但是,謝謝。現在我知道如何在頁面之間傳遞參數:) – erickalves05

相關問題