StackPanel.Children.Clear() 无法正常工作

StackPanel.Children.Clear() does not work correctly

删除 StackPanel 的 children 时出现问题。

一开始我的 StackPanel 是空的。我调用一个方法在其中添加 11 TextBox 。我想在再次调用此方法之前删除 11 TextBox。所以我调用我的堆栈面板:

myStackPanel.Children.Clear()

它正在运行(尝试使用调试点和计数)。 StackPanel中没有children,而是第二次调用后的方法returns22TextBox

请问这有什么问题吗?

XAML :

<StackPanel x:Name="myStackPanel"/>

WPF:

var count1 = myStackPanel.Children.Count; // 11 (first call give me 11)
myStackPanel.Children.Clear();
var count2 = myStackPanel.Children.Count; // 0 (it is working)
using (var selectAll = new Database1Entities())
{
    var querySelectAll =
        from myVariable
        in selectAll.Entrees
        select myVariable;
    foreach (var ligne in querySelectAll) // 11 (0 + 11 = 11 right ?)
    {
        TextBox myTextBoxNom = new TextBox();
        myTextBoxNom.Text = ligne.Nom;
        myStackPanel.Children.Add(myTextBoxNom);
    }
}
var count3 = myStackPanel.Children.Count; // EDIT >> 11 (but 22 on screen)

编辑 :: 使用评论中的提示

我从未找到解决此错误的方法,但我使用 DataBinding 来避免它,就像您在评论中看到的那样。