【问题标题】:Including adunit in TopAppBar在 TopAppBar 中包含 adunit
【发布时间】:2015-02-03 00:53:40
【问题描述】:

我想在页面的 TopAppBar 中添加一个 adunit。

    <Page.TopAppBar>
        <AppBar IsOpen="True">
        <UI:AdControl 
          AutoRefreshIntervalInSeconds="60" 
          ApplicationId="be1500d6-9ca7-4a0b-a479-0db279d71e14" 
          AdUnitId="11191335" 
          HorizontalAlignment="Center" 
          IsAutoRefreshEnabled="True" 
          VerticalAlignment="Top" 
          Width="320"
          Height="50" IsAutoCollapseEnabled="True"
          />
        </AppBar>
    </Page.TopAppBar>

这编译并运行没有错误,但在将其添加到我的代码后,Frame.Navigate 到此页面返回一个错误值。 如何更正它以使导航成功?如果这不是正确的方法,那么我怎样才能让我的广告即使在滚动时也始终保持在页面顶部。

【问题讨论】:

    标签: c# xaml windows-phone-8.1 winrt-xaml-toolkit


    【解决方案1】:

    Windows Phone 不支持顶部 AppBar。如果您想在页面顶部显示您的添加,请将其放在页面顶部的一行网格中。将要滚​​动的页面内容放在其下方的第二行中。比如:

    <Grid>
        <Grid.RowDefinitions>
             <RowDefinition Height="50"/>
             <RowDefinition Height="*" />
        </Grid.RowDefinitions>
    
        <UI:AdControl Grid.Row="0" />
        <GridView Grid.Row="1" /> <!-- or whatever else you want for the page content -->
    </Grid>
    

    【讨论】:

    • 我以前试过这个。我将广告放置在 Grid.Row="0" 中,然后将 StackPanel 放置在 Grid.Row="1" 中。在 StackPanel 中,我在其中放置了一个 ScrollViewer 和我的内容。页面正在打开,但我无法滚动。如何让它可滚动?
    • 这是一个不同的问题,但摆脱 StackPanel。 StackPanel 将增长到适合其内容所需的大小。因为整个 ScrollViewer 将适合堆栈,所以它不需要滚动。 ScrollViewer 需要位于大小有限的容器中。
    • 那么请告诉我如何将我的内容放在 Grid.Row="1" 中,以便只有该行是可滚动的,并且 adcontrol 保持在顶部。我肯定需要让第 1 行中的内容可滚动,因为它太大而无法放入屏幕。
    • 去掉StackPanel,直接把ScrollViewer放到行里。
    • 如果我的 StackPanel 中有很多元素会怎样。然后,我不能删除它,因为 ScrollViewer 只能有 1 个元素。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-17
    • 2013-12-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-13
    • 1970-01-01
    相关资源
    最近更新 更多