2014-02-20 5 views
1

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

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

Может ли это быть сделано?

ответ

2

Вы можете выполнить это, установив стиль элемента 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"]; 

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

+0

Здравствуйте. Спасибо, что помогли мне. Я использовал ваш код внутри пустого приложения телефона и был изменен с помощью '' ', ссылки и т. д. Проблема, с которой я сейчас сталкиваюсь, состоит в том, что, по-видимому, кадр находится поверх всего, и поэтому я не могу нажать кнопки, которые я получил в MainPage.xaml. Также объявление не отображается, но теперь я могу видеть границу (слегка изменив ее, чтобы она была красной), которая занимает весь экран (так что я думаю, что объявление просто ударило, что за пределами экрана) –

+0

Okey Я как-то решил эту проблему по ... удаление границы ^^. Теперь я должен выяснить, как сделать 'adControl' отображаться внутри видового экрана. –

+0

Решил. Большое спасибо за решение! –

Смежные вопросы