WP7 / Silverlight:如何从可视树中禁用/删除adctrol

时间:2011-05-25 03:00:45

标签: silverlight windows-phone-7

我正在构建一个支持试用版的应用,我希望在试用版中展示广告,而不是付费广告。经过调查,我发现禁用付费版广告的唯一方法是从视觉树中完全删除广告控件。

现在我的问题是当我检测到它是付费版本而不是试用版时,如何从我的代码中删除可视树中的adcontrol。你能帮忙吗?

    <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,0,0">
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto" />
        <RowDefinition Height="Auto" />
        <RowDefinition Height="Auto" />
        <RowDefinition />
        <RowDefinition Height="Auto" />
    </Grid.RowDefinitions> 
<Grid Grid.Row="0">          
    ...
    </Grid>    
     <Grid Grid.Row="1">
       ...
    </Grid>    
     <Grid Grid.Row="2">
 <ad:AdControlx:Name="itemAds" .../>
   </Grid>
</Grid>

3 个答案:

答案 0 :(得分:5)

如果将控件的“可见性”设置为Visibility.Collapsed,它将从可视树中删除 因此,您只需要一行代码:

itemAds.Visibility = Visibility.Collapsed;

答案 1 :(得分:3)

你能说出包装AdControl的Grid,然后调用myGrid.Children.Clear()吗?

答案 2 :(得分:3)

您甚至不需要命名网格:

var parent = itemAds.Parent as Grid;
if (parent != null)
{
    parent.Children.Remove(itemAds);
}