У меня есть кнопка, которая выполняет фоновую задачу (она ищет текст из Inte rnet для всех файлов c musi). И он обновляет содержимое кнопки, увеличивая счетчик по мере получения текста.
private async void AddLyrics_Click(object sender, RoutedEventArgs e)
{
await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, async () =>
{
string format = Helper.LocalizeMessage("PostParenthesis");
HyperlinkButton button = (HyperlinkButton)sender;
int count = MusicLibraryPage.AllSongs.Count;
for (searchLyricsCounter = 1; searchLyricsCounter < count + 1; searchLyricsCounter++)
{
Music music = MusicLibraryPage.AllSongs[searchLyricsCounter - 1];
string lyrics = await music.GetLyricsAsync();
//if (string.IsNullOrEmpty(lyrics))
//{
// lyrics = await Controls.MusicLyricsControl.SearchLyrics(music);
// await music.SaveLyricsAsync(lyrics);
//}
System.Diagnostics.Debug.WriteLine(searchLyricsCounter);
button.Content = string.Format(format, addLyricsContent, searchLyricsCounter + "/" + count);
}
searchLyricsCounter = 0;
button.Content = Helper.Localize("AddLyrics");
Helper.ShowNotification("SearchLyricsDone");
});
}
Кнопка расположена на странице (SettingsPage) фрейма на главной странице. После того как я переключусь на другую страницу и вернусь к SettingsPage, кнопка перестает обновлять содержимое, хотя поток все еще работает.
Как я могу сохранить обновление содержимого кнопки?