当我删除我的 StackPanel
.
在开始的时候,我 StackPanel
是空的。我调用一个方法来添加11 TextBox
在里面。我想删除11 TextBox
然后再调用这个方法。所以我调用我的stackpanel :
myStackPanel.Children.Clear()
它是工作的(用debug点和计数试试)。在这个方法中没有子方法 StackPanel
但该方法返回22 TextBox
在第二次通话后。
请问这有什么问题吗?
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)
EDIT :: 与评论中的提示一起工作
我从来没有发现这个错误的解决方案,但是我使用DataBinding来避免它,就像你可以在评论中阅读。