更新:2007 年 11 月
本示例演示如何使用 Clear 方法移除 UIElementCollection 中的所有元素。
下面的可扩展应用程序标记语言 (XAML) 示例创建一个 TabControl。当用户单击**“Clear Controls”(清除控件)**选项卡时,用 C# 编写的 MouseLeftButtonDown 事件处理程序 ClearButtons 会首先添加四个按钮,之后,在单击新创建的按钮之一时,所有的按钮都将被清除。
示例
Private Sub RemoveButton(ByVal sender As Object, ByVal e As MouseButtonEventArgs)
If (sp1.Children.IndexOf(btn) >= 0) Or (sp1.Children.IndexOf(btn1) >= 0) Or (sp1.Children.IndexOf(btn2) >= 0) Or (sp1.Children.IndexOf(btn3) >= 0) Then
sp1.Children.RemoveAt(0)
End If
End Sub
<TabItem MouseLeftButtonUp="ClearButtons">
<TabItem.Header>Clear Controls</TabItem.Header>
</TabItem>
...
void ClearButtons(object sender, MouseButtonEventArgs e)
{
sp1.Children.Clear();
btn = new Button();
btn.Content = "Click to clear";
sp1.Children.Add(btn);
btn.Click += (ClearControls);
btn1 = new Button();
btn1.Content = "Click to clear";
sp1.Children.Add(btn1);
btn1.Click += (ClearControls);
btn2 = new Button();
btn2.Content = "Click to clear";
sp1.Children.Add(btn2);
btn2.Click += (ClearControls);
btn3 = new Button();
btn3.Content = "Click to clear";
sp1.Children.Add(btn3);
btn3.Click += (ClearControls);
}
void ClearControls(object sender, RoutedEventArgs e)
{
sp1.Children.Clear();
}
该事件处理程序还可以用 Microsoft Visual Basic .NET 来编写。
Private Sub ClearButtons(ByVal sender As Object, ByVal e As MouseButtonEventArgs)
sp1.Children.Clear()
btn = New Button()
btn.Content = "Click to clear"
sp1.Children.Add(btn)
AddHandler btn.Click, AddressOf Me.ClearControls
btn1 = New Button()
btn1.Content = "Click to clear"
sp1.Children.Add(btn1)
AddHandler btn1.Click, AddressOf Me.ClearControls
btn2 = New Button()
btn2.Content = "Click to clear"
sp1.Children.Add(btn2)
AddHandler btn2.Click, AddressOf Me.ClearControls
btn3 = New Button()
btn3.Content = "Click to clear"
sp1.Children.Add(btn3)
AddHandler btn3.Click, AddressOf Me.ClearControls
End Sub
Private Sub ClearControls(ByVal sender As Object, ByVal e As RoutedEventArgs)
sp1.Children.Clear()
End Sub
void ContainsElement(object sender, RoutedEventArgs e)
{
TextBlock txt1 = new TextBlock();
sp1.Children.Add(txt1);
txt1.Text = "This StackPanel contains UIElement btn1: " + sp1.Children.Contains(btn1).ToString();
}
![]() |
---|
有关完整的代码示例,请参见元素的用法示例。 |