電話が横向きモードのときにAdControlを表示するには、アプリケーションに十分な画面領域がありません。イベントハンドラーで次の(簡略化された)コードを使用してOnOrientationChanged
、横向きモードに入ったときにグリッドの行1からAdControlを削除し、縦向きモードに入ったときに追加し直します。
if (this.Orientation == PageOrientation.LandscapeLeft ||
this.Orientation == PageOrientation.LandscapeRight) {
LayoutRoot.Children.Remove(myAdControl);
LayoutRoot.RowDefinitions.RemoveAt(1);// remove row to make space
} else {
LayoutRoot.RowDefinitions.Add(adRow);// previously constructed 80 px high RowDefinition
LayoutRoot.Children.Add(myAdControl);
Grid.SetRow(myAdControl, 1);
}
これは私のテストでは機能しているようですが、AdControlクラスのドキュメントで、「一度設定すると、AdControlの親は変更しないでください」とわかりました。私がここでやっていることはAdControlを壊すつもりですか?