0

メニューボタンが読み込まれるフレームを含むXAMLスタートページを備えたC#で記述されたXAML/MonoGameハイブリッドゲームであるWinMetroアプリがあります。

これをWinMetroストアに送信すると、基本的にアプリのスタート画面のスクリーンショットを含むテストプロトコルが返され、スタート画面の2つのボタンが赤で囲まれて「機能が機能していません」と表示されます。私のセットアップ(2つの異なるWin 8マシン+シミュレーター)でこれらのボタンを使用する際に問題が発生したことはありません。

もう1つの奇妙なことは、戻るボタンが表示されることです。これは、フレームが開始フレームである場合、戻るボタンのIsEnabledをFalseに明示的に設定しているため、表示できないはずです(元々、XAMLでコンテンツのCanGoBackにIsEnabledプロパティバインディングを設定していました)。フレームですが、それも機能しませんでした)。

これは、ユーザーがナビゲートしたときに戻るボタンの表示を設定するためのコードです。

    public MainPage()
    {
        this.InitializeComponent();

        contentFrame.Navigate(typeof(MainFrame));

        Window.Current.SizeChanged += VisualStateChanged;
        contentFrame.Navigated += contentFrame_Navigated;
    }

    void contentFrame_Navigated(object sender, NavigationEventArgs e)
    {
        ApplicationViewState visualState = ApplicationView.Value;

        VisualStateManager.GoToState((Control)e.Content, 
               visualState.ToString(), false);

        if (e.Content is MainFrame)
            backButton.IsEnabled = false;
        else
            backButton.IsEnabled = contentFrame.CanGoBack;
    }

    private void backButton_Click(object sender, RoutedEventArgs e)
    {
        contentFrame.GoBack();
    }

    internal void GoHome()
    {
        while( contentFrame.CanGoBack )
            contentFrame.GoBack();
    }

GoHome()は、ユーザーがゲームを終了することを選択した場合にゲームページから呼び出されます(そこからスタートページに戻るボタンも表示されません)。

    private void QuitGame(IUICommand command)
    {
        App.ClearGame();

        Window.Current.Content = App.MainPage;
        Window.Current.Activate();
        App.MainPage.GoHome();
    }

そして、メインフレームのボタンのコードは次のとおりです。

    private void onePlayerButton_Click(object sender, RoutedEventArgs e)
    {
        this.Frame.Navigate(typeof(OnePlayerFrame));
    }

    private void twoPlayersButton_Click(object sender, RoutedEventArgs e)
    {
        this.Frame.Navigate(typeof(TwoPlayersFrame));
    }

だから私の質問は、SurfaceデバイスとデスクトップPCで戻るボタンの可視性を異なる方法で処理できるか、またはテスターが戻るボタンが表示されているスクリーンショットをどのように取得できるかということです。そして、Windows Metroストアにアプリを送信するときに同様の経験をした人はいますか?

マイクロソフトがテストプロトコルの詳細を提供してくれることを本当に望んでいます。長期的には、すべての人の時間を節約できます...

4

2 に答える 2

1

これは、一般的な Windows ストア認証の失敗と、それらを修正する方法に関するブログ投稿シリーズです。具体的には、「アプリは完全に機能する必要があります」に関する記事をご覧ください。この失敗を引き起こす主な問題は、次のとおりです。

  • 未完成のようです
  • 欠落/壊れた機能
  • 十分な情報を提供しない

あなたのシナリオでは、テスターが別のページに移動してからホーム/スタートページに戻った可能性があります (そして、戻るボタンは、彼らがいたサブページに戻るように見えました)...方法によって異なりますもちろん、戻るボタンを実装しました。

スタート画面の赤い丸で囲まれた 2 つのボタンの詳細、またはクリック ハンドラのコードのサンプルを教えてください。

于 2012-12-30T02:53:45.857 に答える
0

説明なしで反対票を投じますか?少なくとも、質問で役に立たないものを明確にしてください...

とにかく、他の人が同様の問題に直面している場合、アプリが最終的に機能するようになった理由をフォローアップすると思いました.

アプリを認証して提出する前に、次の 2 つの変更を行いました。

 contentFrame.Navigated += contentFrame_Navigated;

 contentFrame.Navigate(typeof(MainFrame));

(つまり、上記のように、イベント ハンドラーで起動時に backButton.IsEnabled が明示的に false に設定されていることを意味します)

への呼び出しも削除しました

ApplicationData.Current.LocalFolder.CreateFileAsync("startuplog.txt", CreationCollisionOption.ReplaceExisting);

App.xaml.cs で、ローカルで WACK を介して取得するためにデバッグしていたときに取り残されました。

これらの変更の後、それは機能しました。

于 2013-01-11T09:47:38.503 に答える