1
因此,尽管在网上找到文章,我仍然无法弄清楚这一点。动态更新数据绑定列表框C#WPF
我有一个列表框
<ListBox HorizontalAlignment="Left" Margin="54,35,0,0" Name="resultsbox" VerticalAlignment="Top" Width="382" Visibility="Collapsed">
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding nameElement}"/>
</StackPanel>
</DataTemplate>
</ListBox>
即数据绑定到
ObservableCollection<string> results = new ObservableCollection<string>();
,并与
private void searchbox_TextChanged(object sender, TextChangedEventArgs e)
{
resultsbox.Visibility = Visibility.Visible;
resultsbox.ItemsSource = results;
if (results.Count == 0)
{
foreach (ele item in eles)
{
if (!results.Contains(item.nameElement))
{
results.Add(item.nameElement);
}
}
}
else
{
resultsbox.Items.Clear();
}
if (searchbox.Text.Equals(""))
{
window1.Height = 47;
resultsbox.Visibility = Visibility.Collapsed;
}
if (resultsbox.Items.Count == 0)
{
resultsbox.Visibility = Visibility.Collapsed;
window1.Height = 47;
}
else{
window1.Height = 47 + (22 * resultsbox.Items.Count);
}
}
它加载在那里所有的数据更新,但不会更新!
如果我这样做resultsbox.clear()
它说你不能清除绑定项目。如果你尝试清除源码,它什么也不做。如果您尝试将resultsbox项目源设置为null,并清除源并重新绑定它,则不会有任何结果。如果你尝试和列表框绑定到一个空的源是什么都不做....
仍不会更新 – 2013-02-21 03:51:29