gpt4 book ai didi

c# - 从列表框中删除所有项目

转载 作者:太空宇宙 更新时间:2023-11-03 18:43:44 27 4
gpt4 key购买 nike

您好,我正在尝试从列表框中删除所有元素:这是我的简单列表框:

 <ListBox Margin="0,0,-12,0" ItemsSource="{Binding Items}" Name="listbox" >
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" Margin="0,0,0,17" >


<!--Replace rectangle with image-->
<Image Source="{Binding Img}" />
<StackPanel Width="311">
<TextBlock Text="{Binding Pos}"
</StackPanel>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>

但是当我尝试删除列表框的所有元素时,错误是:

A first chance exception of type 'System.InvalidOperationException' occurred in      System.Windows.dll
System.InvalidOperationException: Operation not supported on read-only collection.
at System.Windows.Controls.ItemCollection.ClearImpl()
at System.Windows.PresentationFrameworkCollection`1.Clear()
at aaaaa.MainPage.Button_Click(Object sender, RoutedEventArgs e)
at System.Windows.Controls.Primitives.ButtonBase.OnClick()
at System.Windows.Controls.Button.OnClick()
at System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)
at System.Windows.Controls.Control.OnMouseLeftButtonUp(Control ctrl, EventArgs e)
at MS.Internal.JoltHelper.FireEvent(IntPtr unmanagedObj, IntPtr unmanagedObjArgs, Int32 argsTypeIndex, String eventName)

private void Button_Click(object sender, RoutedEventArgs e)
{
try
{
listbox.Items.Clear();
}
catch (Exception ss) {
Debug.WriteLine(ss.ToString());
}
}

谢谢!

最佳答案

如果将 Items 集合指定为 Binding,则无法清除它。您应该改为清除绑定(bind)集合。不要忘记您的源集合应该实现 INotifyCollectionChanged

关于c# - 从列表框中删除所有项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6315190/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com