gpt4 book ai didi

silverlight - 快速连续按下开始和返回按钮 WP7

转载 作者:行者123 更新时间:2023-12-03 17:58:38 25 4
gpt4 key购买 nike

我在类似的帖子中问过这个问题,但从那以后有重大更新,但仍然没有结果,所以我会尝试用更新的信息重新提出这个问题。

基本上我有一个包含 4 个枢轴项目的枢轴 View 。如果我创建了我按下 windows 键然后快速按下后退键的场景,我的应用程序将重新打开而不重建(这是预期的结果)。应用程序的功能就在那里。我可以按应用程序栏按钮等。

不起作用的是枢轴项目被卡住。如果我在 Pivot item A 上并且快速按下开始和返回按钮,我会返回 Pivot Item A。如果我尝试切换 Pivot Items,屏幕不会更新,它在 Pivot Item A 上“卡住”但功能枢轴项目 B 在那里。 (我知道这一点是因为现在显示了 Pivot Item B 的应用程序栏图标)。

我已经阅读了很多关于正确墓碑场景以及如何解决这个问题的文章。我的数据正在被正确地墓碑化,并且在重新激活后,墓碑化的数据就可以工作了。没有对象是空的,所以我没有任何异常被抛出。

我检查是否需要重新加载 Main ViewModel(在这种情况下我不需要,因此最初创建的 UI 元素不会被重新创建)。

然而,解决问题的是应用程序是否被重构。假设我从我的应用程序进入市场,让它完成加载并按下,我的应用程序将被刷新并正常工作,因为它正确停用并重建了 istelf。我不依赖构造函数来完成所有工作,因此当它们在 windows/back 按钮场景中未触发时,我不会错过任何未设置的关键元素。

有谁知道为什么我的屏幕不会更新?

构造函数/加载的事件/on 导航到事件

    public MainPage()
{
InitializeComponent();
this.Loaded += new RoutedEventHandler(MainPage_Loaded);
}
private void MainPage_Loaded(object sender, RoutedEventArgs e)
{
if (App.firstTimeLoading == true)
{
App.firstTimeLoading = false;
}
BuildApplicationBar();
}

protected override void OnNavigatedTo(NavigationEventArgs e)
{
this.DataContext = App.ViewModel;
App.viewIdentifier = StringResource.MainPageView;

if (!App.ViewModel.IsDataLoaded)
{
App.ViewModel.LoadData();

String bookTitle;
App.Parser.appBookInfoDict.TryGetValue(CPlayerInventoryKeys.kInventoryKeyTitleShortTitle, out bookTitle);
PivotBackground.Title = bookTitle.ToUpper();

CreatePivotItems();
}
if (App.playerController.chapterPlayer.Source == null)
App.restoreStateClass.RestoreState();

//applies the proper background image
if (App.isDarkTheme)
{
BitmapImage bitmapImage = new BitmapImage(new Uri(StringResource.PanoramaBlackImage, UriKind.Relative));
BackgroundImage.ImageSource = bitmapImage;
BackgroundImage.Opacity = .85;
}
else
{
BitmapImage bitmapImage = new BitmapImage(new Uri(StringResource.PanoramaWhiteImage, UriKind.Relative));
BackgroundImage.ImageSource = bitmapImage;
BackgroundImage.Opacity = .5;
}

if (App.firstTimeLoading == false && PivotBackground.SelectedItem != SuggestedPivotItem)
BuildApplicationBar();
else if (PivotBackground.SelectedItem == SuggestedPivotItem)
{
BuildMarketPlaceApplicationBar();
}
base.OnNavigatedTo(e);
}

最佳答案

我找到了答案。由于我打开了一个媒体元素(播放/暂停)并且我正在实现“非墓碑”方法来非常快速地点击 Windows 键和后退按钮,因此媒体元素源已损坏。即使我重置了这个源,显然它可以被忽略并且不能正常工作。我所要做的就是在 Application Deactivated 处理程序中添加一行代码。

    private void Application_Deactivated(object sender, DeactivatedEventArgs e)
{
App.MainAudioPlayer.Source = null; //(only showing line added)
}

关于silverlight - 快速连续按下开始和返回按钮 WP7,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6906097/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com