WindowsPhone 8 постоянный AdControl

Я хочу сделать многостраничное приложение для WindowsPhone 8, которое имеет AdControl внизу. Теперь мне интересно узнать, есть ли возможность поместить AdControl в отдельный фрейм, чтобы навигация страницы не мешала ему. В основном я пытаюсь разделить приложение ViewPort на 2 части: приложение и AdControl.

AdControl всегда должен быть включен, и нет необходимости добавлять его на разные страницы и обновлять его каждый раз при выполнении навигации.

Можно ли что-то подобное сделать?

1 ответ

Решение

Вы можете сделать это, установив стиль PhoneApplicationFrame. В App.xaml добавьте следующий ресурс

<Style x:Key="AdPhoneApplicationFrameStyle" TargetType="phone:PhoneApplicationFrame">
    <Setter Property="IsTabStop" Value="False"/>
    <Setter Property="Foreground" Value="{StaticResource PhoneForegroundBrush}"/>
    <Setter Property="FontSize" Value="{StaticResource PhoneFontSizeNormal}"/>
    <Setter Property="FontFamily" Value="{StaticResource PhoneFontFamilyNormal}"/>
    <Setter Property="HorizontalAlignment" Value="Stretch"/>
    <Setter Property="VerticalAlignment" Value="Stretch"/>
    <Setter Property="HorizontalContentAlignment" Value="Stretch"/>
    <Setter Property="VerticalContentAlignment" Value="Stretch"/>
    <Setter Property="Background" Value="Transparent"/>
    <Setter Property="BorderThickness" Value="0"/>
    <Setter Property="BorderBrush" Value="{x:Null}"/>
    <Setter Property="Padding" Value="0"/>
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="phone:PhoneApplicationFrame">
                <Border x:Name="ClientArea" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" HorizontalAlignment="{TemplateBinding HorizontalAlignment}" VerticalAlignment="{TemplateBinding VerticalAlignment}">
                        <Grid>
                            <Grid.RowDefinitions>
                                <RowDefinition Height="*"/>
                                <RowDefinition Height="Auto"/>
                            </Grid.RowDefinitions>
                            <ContentPresenter ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
                            <adDuplex:AdControl Grid.Row="1"/>
                    </Grid>
                </Border>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

В App.xaml.cs в пределах InitializePhoneApplication добавьте следующую строку после создания RootFrame

RootFrame.Style = (Style)Resources["AdPhoneApplicationFrameStyle"];

Если вы хотите иметь переходы страниц, см. Этот блог для получения дополнительной информации.

Другие вопросы по тегам