Windows PhoneのSilverlightでピボットアプリケーションにエラーが発生しました。Adcontrolピボットアイテムテンプレート内にInvalidCastExceptionがあります
問題を再現するには、ピボットアプリケーションの例を作成します。 xamlにピボットアイテムテンプレートのアドコントロールである
<Grid x:Name="LayoutRoot" Background="Transparent">
<!--Pivot Control-->
<controls:Pivot Title="MY APPLICATION" ItemsSource="{Binding Items}">
<controls:Pivot.HeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding LineOne}" />
</DataTemplate>
</controls:Pivot.HeaderTemplate>
<controls:Pivot.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding LineTwo}" />
<advertising:AdControl Grid.Row="2" Grid.ColumnSpan="2" Height="80" Width="480" VerticalAlignment="Top" AdUnitId="10000000" ApplicationId="aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaa" />
</StackPanel>
</DataTemplate>
</controls:Pivot.ItemTemplate>
</controls:Pivot>
</Grid>
を持つように変更します。
はMicrosoft.Advertising.Mobile.UIへの参照を追加すると、名前空間を宣言することを忘れないでください:
xmlns:advertising="clr-namespace:Microsoft.Advertising.Mobile.UI;assembly=Microsoft.Advertising.Mobile.UI"
そして、あなたは(エミュレータ上)電話アプリケーションを実行すると、あなたがInvalidCastExceptionが持っています。
規制なしで問題ありません。
どうすれば解決できますか?あなたの助け
まず、上記の例を 'AdUnitId =" Image480_80 "ApplicationId =" test_client "'に変更する必要があります。これは 'TestMode'値の標準セットです。第二に、任意のチャンスであなたはデバッグ - >例外 - >共通言語ランタイム例外 - >あなたのアプリでチェックマークがスローされていますか?ピボットページにも同じ問題がありました(ただし、コントロールはAdControlの代わりにラジオボタンでした)。私が一旦例外をスローすることを無効にすると(「最初のチャンスの例外が発生しました...」)、すべてがうまくいき、ピボットページが機能しました。 – Stan