我正在寻找Gtk.ListStore中的一个功能,就像Winforms中的ListView.VirtualMode一样。
有类似的东西吗?
答案 0 :(得分:2)
Gtk#的ListStore是一个集合类型,类似于.NET中的ArrayList。它不是一个视觉小部件。它代表了模型 - 视图 - 控制器设计模式中Gtk#的TreeStore模型的简化版本。
另一方面,Winform的ListView是一个可视化控件。它表示模型 - 视图 - 控制器设计模式中的View组件。
您正在将苹果与橙子进行比较。
Gtk#的可视化小部件在功能上与Winforms ListView或TreeView类似,将是一个Gtk的TreeView。可以为Gtk#TreeView的Model属性分配一个实现Gtk#TreeModel接口的集合。现在Gtk#的ListStore实现了TreeModel接口,因此可以将它分配给Gtk#TreeView的Model属性。这就是数据绑定在Gtk#中的工作原理。
Gtk#数据绑定范例有点难以掌握,但是一旦掌握它就非常强大。