我正在构建一个支持试用版的应用,我希望在试用版中展示广告,而不是付费广告。经过调查,我发现禁用付费版广告的唯一方法是从视觉树中完全删除广告控件。
现在我的问题是当我检测到它是付费版本而不是试用版时,如何从我的代码中删除可视树中的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>
答案 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);
}