一部の視覚要素は、正しく機能するためにビジュアルツリーに残しておく必要があります。特に、メディアの再生またはキャプチャに関係する要素はそうです。私はあなたがしていることを試したことがありませんが、これがその振る舞いであることは私を驚かせません。
コントロールの親を変更して再生を再開した後、再生位置をキャプチャして設定してみることができると思いますが、これは大変な作業であり、エラーが発生しやすい可能性があります。正直なところ、Windows開発者がこの種のシナリオに対処することを意図した方法は、ビジュアルステートを使用することです。
Expression BlendでLayoutAwarePageを使用したことがある場合は、以前にVisualStateに遭遇したことがあるかもしれません。LayoutAwarePageには、Windows 8のさまざまな表示モード(塗りつぶし、スナップ、フルランドスケープ、フルポートレート)のすべての状態があります。ただし、 LayoutAwarePageを使用しない場合でも、いつでも独自の状態を作成できます。Blendの[状態]タブで状態を作成します(そのウィンドウが表示されない場合は、[ウィンドウ]-> [状態])。
すべての状態は、状態グループに存在する必要があります。グループ名は重要ではありませんが、グループ内のすべての状態が排他的であることを理解してください。したがって、グループMediaPlaybackStatesを呼び出し、そのグループ内にWindowedとFullScreenという2つの状態を配置できます。
1つは、Blendを使用してそれらを設計できる2つの状態を定義したことです。状態を選択して、必要なプロパティを変更するだけです。次に、実行時にフレームワークにその状態に移行するように指示すると、「記録された」変更が再生され、それらをアニメーション化することもできます。
もちろん、1つの問題は、ビジュアル状態を使用してコントロールの親を変更できないことです。代わりに、プレーヤーの周囲のすべてのコントロールを、「フルスクリーン」モードに入るときに折りたたむことができるパネルにグループ化することを検討してください。グリッドコントロールを使用してすべてをレイアウトし、プレーヤーがいる行/セルが「*」サイズに設定されていることを確認します。つまり、他のコントロールが折りたたまれている場合、使用可能なすべてのスペースを占有します。
ブログに詳細な記事があり、ビジュアル状態を使用してさまざまなWindows 8ウィンドウの状態(塗りつぶし、スナップなど)を処理する方法を示しています。その記事があなたを正しい方向に向けさせてくれることを願っています。
http://jaredbienz.wordpress.com/2012/04/22/wp-to-w8-view-states-using-visual-state-manager/
実行時に状態を変更する準備ができたら、
VisualStateManager.GoToState(this, "FullScreen", true);
最初のパラメーター(this)は、ウィンドウ全体の状態を変更することを意味します。2番目のパラメーターは、切り替えたい状態の名前であり、最後のパラメーターは、遷移(またはアニメーション)が状態に存在する場合にそれらを使用するかどうかです。
開発サポート、設計サポート、そして途中でのより素晴らしい良さ:http: //bit.ly/winappsupport