Adcontrol InvalidCastException, когда внутри шаблона элемента сводки - PullRequest
1 голос
/ 16 февраля 2012

У меня ошибка с моим сводным приложением на silverlight для Windows Phone.

Чтобы воспроизвести проблему, создайте пример Pivot Application.Измените 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>

, который является adcontrol в шаблоне элемента сводки.

Не забудьте добавить ссылку на Microsoft.Advertising.Mobile.UI и объявить пространство имен:

xmlns:advertising="clr-namespace:Microsoft.Advertising.Mobile.UI;assembly=Microsoft.Advertising.Mobile.UI"

затем, когда вы запускаете приложение телефона (на эмуляторе), у вас возникает InvalidCastException.

Без элемента управления нет проблем.

Как решитьчто?

Спасибо за помощь

1 Ответ

1 голос
/ 16 февраля 2012

Если вы пытаетесь добавить представления в ваш свод, вы должны использовать PivotItem. Я почти уверен, что причина ошибки в том, что вы помещаете AdControl в ItemTemplate элемента управления Pivot. Есть лучшие способы сделать это.

Вместо этого просто добавьте нижнее поле к центру управления 80px. Затем добавьте AdControl внутри LayoutRoot и установите для его вертикального выравнивания значение Bottom.

Не уверен, что я бы настоятельно рекомендовал это из-за опыта пользователя, но если вы хотите, чтобы AdControl включал каждое представление Pivot Control, просто добавьте необходимые PivotItems и в каждом месте AdControl.

Итог: не помещайте AdControl в шаблон ItemPivotControl.

Это должно сделать это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...