Tag: 列表框

WPF将列表框绑定到一个枚举,显示描述属性

有没有可能使用ObjectDataProvider方法绑定列表框到一个枚举,并以某种方式来显示描述属性? 如果是的话,怎么会这样做…?

带ListBox的WPF列表框 – UI虚拟化和滚动

我的原型显示包含由缩略图表示的“页面”的“文档”。 每个文档可以有任意数量的页面。 例如,可能有1000个文档,每个5个页面,或者5个文档每个1000个页面,或者中间的某个位置。 文件不包含其他文件。 在我的xaml标记中,我有一个ListBox ,其ItemsTemplate引用一个innerItemsTemplate也有一个ListBox 。 我想要2级选定的项目,以便我可以在文档或页面上执行各种操作(删除,合并,移动到新位置等)。 innerItemsTemplate ListBox使用一个WrapPanel作为ItemsPanelTemplate。 对于每个页面数量较多(比如10000个文档,每页5个页面)的大量文档,滚动效果非常好,这得益于VirtualizingStackPanel的UI虚拟VirtualizingStackPanel 。 但是,如果我有大量的页面,则会出现问题。 一个1000页的文档一次只能显示大约50个(无论在屏幕上),而当我向下滚动时,外部ListBox移动到下一个文档,跳过950页左右,这是不可见的。 随着这一点,没有VirtualzingWrapPanel所以应用程序内存真的增加。 我想知道我是否正在以正确的方式进行,特别是因为这很难解释! 我希望能够显示10000个文件,每个1000页(只显示任何适合的屏幕),使用UI虚拟化,也顺利滚动。 我怎样才能确保滚动浏览文档中的所有页面,然后显示下一个文档,并保持UI虚拟化? 滚动条似乎只移动到下一个文档。 代表“文件”和“页面”似乎是合乎逻辑的 – 用我目前在ListBox使用ListBox ListBox ? 我非常感谢你有任何想法。 谢谢。

如何循环浏览列表框中的项目,然后删除这些项目?

当我尝试循环一个列表框,然后删除该项目时,我得到下面的错误。 这个枚举器绑定的列表已被修改。 枚举器只能在列表不变的情况下使用。 foreach (string s in listBox1.Items) { MessageBox.Show(s); //do stuff with (s); listBox1.Items.Remove(s); } 我怎样才能删除项目,并仍然通过内容循环?