2014-11-04 81 views
2

因此,我正在基于音乐混洗的Windows Phone项目工作。我有一个页面显示队列中的歌曲,代码文件包含List<>,它将所有歌曲添加到列表中,但此任务需要更多时间。xaml页面在windows phone中加载后如何完成任务

当我点击一个按钮导航(或显示队列)页面我的应用程序仍然保持相同的页面4-5秒。

我想如何在加载页面后运行的xaml.cs文件中创建一些代码。

当页面加载后,我会显示Progress Indicator,当所有数据完全在列表<>元素中时,我会显示一首歌曲。

我的代码:

private void Event() 
{ 
     currentQueueData = MediaPlayer.Queue; 
     List<QueueData> boundedQueueData = new List<QueueData>(); 

     SetProIndicator(true); 
     SystemTray.ProgressIndicator.Text = "Loading..."; 

     if (currentQueueData.Count != 0) 
     { 
      for (int i = currentQueueData.ActiveSongIndex, k = 0; i < totalqueueCount; i++) 
      { 
       loadedqueueSongs[k] = currentQueueData[i]; 
       boundedQueueData.Add(new QueueData() 
       { 
        queueSongIndex = k++, 
        queueSongName = currentQueueData[i].Name, 
        queueSongAlbum = currentQueueData[i].Album.Name + ",", 
        queueSongArtist = " " + currentQueueData[i].Artist.Name, 
       }); 
      } 
      queueList.ItemsSource = boundedQueueData; 
      SetProIndicator(false); 
      //queueList.Foreground = new SolidColorBrush(Color.FromArgb(255, 255, 255, 255)); 
     } 
     else 
     { 
      boundedQueueData.Add(new QueueData() 
      { 
       queueSongIndex = 0, 
       queueSongName = "Currently Queue Is Empty", 
       queueSongAlbum = "", 
       queueSongArtist = "", 
      }); 
      queueList.ItemsSource = boundedQueueData; 
     } 
    } 
  • 如果可能的话,经过MyPage.xaml页面事件()函数加载加载?
+0

void Event方法位于哪里?谁需要它? – 2014-11-04 13:32:55

+0

在构造函数中 – VKC 2014-11-04 14:23:22

回答

2

继评论问题后,一个可能的答案是订阅页面的Loaded事件并从那里调用Event方法。

真正简单的例子:

public MyPage() 
{ 
    this.Loaded += PageLoaded; 
} 

void PageLoaded(object sender, RoutedEventArgs e) 
{ 
    this.Event(); 
} 

所以我们所做的就是suscribe,在页面的构造函数加载的事件。到页面加载时,您将能够从回调中调用您的Event方法。

相关问题