したがって、オンラインで記事を見つけたにもかかわらず、私はまだこれを理解することができません。
リストボックスがあります
<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()
それはあなたが束縛されたアイテムをクリアすることができないと言います。ソースをクリアしようとしても、何もしません。結果ボックスのitemsourceをnullに設定し、ソースをクリアしてから再バインドしようとしても、何も起こりません。リストボックスを空のソースにバインドしようとしても、何も実行されません。