【问题标题】:how to do task after xaml page is loaded in windows phone在windows phone中加载xaml页面后如何执行任务
【发布时间】:2014-11-04 22:47:36
【问题描述】:

所以我正在研究基于音乐随机播放的 Windows Phone 项目。我有一个 页面显示队列中的歌曲,代码文件包含 List<> 将所有歌曲添加到列表中,但此任务需要更多时间。

当我单击按钮导航(或显示队列)到页面时,我的应用程序仍会在同一页面上保持 4-5 秒。

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

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

我的代码:

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 页面后加载 Event() 函数?

【问题讨论】:

  • void Event 方法在哪里?谁要求的?

标签: xaml c# xaml windows-phone-8


【解决方案1】:

按照问题上的 cmets,一个可能的答案是订阅您页面的 Loaded 事件并从那里调用 Event 方法。

非常简单的例子:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多