Как удалить textblock динамически в wpf
public partial class Window2 : Window
{
int margin = 200;
public Window2()
{
this.InitializeComponent();
for (int i = 1; i <= 5; i++)
{
TextBlock DynamicLine = new TextBlock();
DynamicLine.Name = "lbl_DynamicLine" + i;
DynamicLine.Width = 600;
DynamicLine.Height = 20;
DynamicLine.Text =i+"Dynamic TextBlock";
DynamicLine.Margin = new Thickness(50, margin, 0, 0);
margin = margin + 20;
LayoutRoot.Children.Add(DynamicLine);
}
}
}
Я попытался удалить текстовый блок динамически, как показано ниже.
LayoutRoot.Children.Remove(DynamicLine);
Но я могу удалить последний созданный текстовый блок только с указанной выше строкой кода.Теперь я хочу удалить все текстовые блоки динамически. что я должен сделать для этого?
3 ответа:
Попробуйте этот код
public partial class Window2 : Window { int margin = 200; TextBlock DynamicLine; public Window2() { this.InitializeComponent(); for (int i = 1; i <= 5; i++) { DynamicLine = new TextBlock(); DynamicLine.Name = "lbl_DynamicLine" + i; RegisterName(DynamicLine.Name, DynamicLine); DynamicLine.Width = 600; DynamicLine.Height = 20; DynamicLine.Text =i+"Dynamic TextBlock"; DynamicLine.Margin = new Thickness(50, margin, 0, 0); margin = margin + 20; LayoutRoot.Children.Add(DynamicLine); } for (int i = 1; i <= 5; i++) { DynamicLine = (TextBlock)this.FindName("lbl_DynamicLine" + i); LayoutRoot.Children.Remove(DynamicLine); } } }