2014-03-18 495 views
0

我正在爲當地公共交通用戶製作時間表應用程序。我對於整個WP8應用程序大廈和xaml等都是全新的,所以 - 令人驚訝的是 - 我有點困惑。所以我建立了主頁,其中包含每行的按鈕。 我希望如果用戶點擊按鈕,出現一個停止列表,他可以選擇一個,然後應用程序導航到選定的停止時間表。 我已經完成了站點的頁面,我只需要按照提到的方式將主頁與時間表連接起來。按鈕點擊列表

所以主要問題:如何通過點擊按鈕打開(全屏)列表,然後導航到另一個頁面?

The plan

謝謝您的幫助:)

+0

你使用MVVM?我的意思是要問以下問題:你使用viewmodels作爲你的停止列表以及停止shedules? – hschne

+0

在Visual Studio中查看「Windows Phone Databound App」Windows Phone項目。我認爲它會讓你確切地知道你需要什麼 –

+0

對不起,我甚至不知道什麼是視圖模型:)我真的很新,我正在學習這個autodidactitally :) – barnade95

回答

0

您將需要創建兩個頁面,其中一個站名,另一個與停止的時間表。

在ListOfStops頁面的XAML文件中,您需要顯示所有記錄。 (如果你想讓它當源的變化而自動更新使用的ObservableCollection)

<phone:LongListSelector x:Name="stopsLLS" SelectionChanged="stopsLLS_SelectionChanged"> 
        <phone:LongListSelector.ItemTemplate> 
         <DataTemplate> 
          <StackPanel> 
           <TextBlock Text="{Binding Name}" /> 
          </StackPanel> 
         </DataTemplate> 
        </phone:LongListSelector.ItemTemplate> 
</phone:LongListSelector> 

一長串選擇的的ItemsSource是停止的列表:您可以使用LongListSelector做到這一點。

class Stop 
{ 
    public string Name { get; set; } 
} 

在導航到停止的時間表頁面之前,我放置了選擇更改事件來設置。

private void stopsLLS_SelectionChanged(object sender, SelectionChangedEventArgs e) 
    { 
     // If selected item is null (no selection) do nothing 
     if (stopsLLS.SelectedItem == null) 
      return; 

     // Save Selected Item 
     PhoneApplicationService.Current.State["SelectedStop"] = stopsLLS.SelectedItem as Stop; 

     // Navigate to the new page 
     NavigationService.Navigate(new Uri("/Views/StopSchedulePage.xaml", UriKind.Relative)); 

     // Reset selected item to null (no selection) 
     reportsLLS.SelectedItem = null; 
    } 

在StopSchedulePage可以檢索停止方式如下:

  object o; 
      if (PhoneApplicationService.Current.State.TryGetValue("SelectedStop", out o)) 
      { 
       var stop = (Stop)o; 
      } 

您可以顯示它反正你想

+0

謝謝你的回覆!我試圖理解這一點,但我認爲這不是我正在尋找的。我用圖片更新了這個問題。所以在主屏幕上有很多按鈕(鎮上有42條線)。當我點擊一個按鈕,一個列表框出現,如果這將是這[全屏列表框東西](http://www.7tutorials.com/files/img/winphone8_lock_screen/wplsc8.png)。
如果我選擇一個,它會瀏覽它自己的頁面。但是有40條線路,它們有不同的停靠點。 – barnade95

+0

現在我看到了你的照片,我解釋的是第2頁和第3頁。在你需要創建點擊事件的所有按鈕的頁面中,保存線條,然後導航到第2頁。聽@ShawnKedrot和看看Visual Studio中的Windows Phone Databound應用程序模板,它會使它更清晰。 –