Tag: listview

.NET ListView行填充

似乎没有办法更改.NET ListView中所有行的填充(或行高)。 有没有人有一个优雅的黑客?

过滤Listview中的项目

我试图使用TextBox过滤ListView的项目。 我已经设法制作了一些东西,但它只能从我的列表视图中删除项目,而不是将它们带回来。 这是我的代码的一个小例子: private void textBox1_TextChanged(object sender, EventArgs e) { string value = textBox1.Text.ToLower(); for (int i = listView1.Items.Count – 1; -1 < i; i–) { if (listView1.Items[i].Text.ToLower().StartsWith(value) == false) { listView1.Items[i].Remove(); } } } 有没有人知道如何检索已删除的项目? 我似乎无法弄明白>:…

如何异步填充虚拟模式下的ListView?

我想在列表视图中显示我们数据库中的记录 – 但检索可能需要很长时间。 我可以使用RetrieveVirtualItem告诉我何时需要新的ListViewItem,添加一个虚拟项目,然后开始检索; 但是当数据库返回时我该如何处理记录呢? 当ListView在VirtualMode中时,我无法更新ListView的Items集合。 有没有办法告诉ListView重新加载项目? 或者我可以保持对ListViewItem的引用并填充它? 如果这些都不起作用,我还能以异步方式在虚拟模式下填充ListView吗?

ListView C#(.Net 3.5)中的替代颜色?

我要为ListView行设置另一种颜色。 我看到了这个链接,但我使用的是.Net Framework 3.5 SP1,所以我无法使用它。 我使用了以下代码,但它有ListView排序问题 ListViewItem newListViewItem = new ListViewItem( new string[] { item.name.ToString(), item.code.ToString() }); newListViewItem.BackColor = new Color(240,240,240); newListViewItem.UseItemStyleForSubItems = true; newListViewItem.Font = new Font(“Tahoma”, 9); listView1.Items.Add(newListViewItem); 你能指导我怎么做吗?

如何删除ListViewItem上的选择边框

我正在使用SetWindowTheme和SendMessage使.net listview看起来像vista样式列表视图,但.net控件仍然在所选项目周围有一个虚线选择边框: 资源管理器列表视图中的选定项目周围没有该边框。 我该如何删除它? Windows资源管理器: 编辑:解决方案: public static int MAKELONG(int wLow, int wHigh) { int low = (int)LOWORD(wLow); short high = LOWORD(wHigh); int product = 0x00010000 * (int)high; int makeLong = (int)(low | product); return makeLong; } SendMessage(olv.Handle, WM_CHANGEUISTATE, Program.MAKELONG(UIS_SET, UISF_HIDEFOCUS), 0);

如何将集合绑定到WPF中的ListView

我有一个程序在目录中搜索符合特定条件的文件。 这个搜索过程需要很长时间,所以我必须异步调用它。 当搜索算法找到文件时,它会触发一个事件。 我的MainWindow实例侦听此事件,需要更新GUI。 如何将这些“添加”文件绑定到ListView ? 我想我可以使用ObservableCollection实例,但我无法弄清楚如何绑定它。 我已经删除了所有不相关的控件和代码。 这是两个相关的文件。 MainWindow.xaml: MainWindow.xaml.cs: using System.IO; using System.Threading.Tasks; public partial class MainWindow { private SearchLogic _backgroundSearch; private async void Search(object sender, RoutedEventArgs e) { // TODO: clear Results _backgroundSearch = new SearchLogic(“”, new DirectoryInfo(“C:\”)); _backgroundSearch.FileAdded += FileAdded; await Task.Run(new Action(_backgroundSearch.Search)); } private void FileAdded(object sender, FileAddedEventArgs eventArgs) { […]

单击ListBoxItem区域内的任何控件时触发SelectedIndex已更改

我有一个ListBoxItem的数据模板,它包含几个按钮,以及很少的自定义控件,如网格或图表。 每个按钮都绑定到一个合适的命令处理程序,ListView控件的SelectedIndex属性也绑定到ViewModel的属性。 问题 :在命令处理程序(绑定到按钮)中我无法解析当前选定的项目/索引,因为它在单击ListBox项目中的按钮或其他控件时没有改变,但是当我单击ListBoxItem区域本身时 – SelectedIndex正在改变。 问题是如何在单击ListBoxItem中的任何控件时触发SelectedIndex更改?

检测WPF列表视图滚动条何时位于底部?

有没有办法检测ListView ScrollViewer的滚动条是否已到达虚拟滚动空间的底部? 我想检测这个以从服务器获取更多项目以放入ListView上绑定的ObservableCollection 。 现在我这样做: private void currentTagNotContactsList_scrollChanged(object sender, ScrollChangedEventArgs e) { ListView v = (ListView)sender; if (e.VerticalOffset + e.ViewportHeight == e.ExtentHeight) { Debug.Print(“At the bottom of the list!”); } } 这甚至是正确的吗? 我还需要区分导致事件的垂直滚动条和导致它的水平滚动条(即如果你在框的底部水平滚动,我不想继续生成对服务器的调用)。 谢谢。

如何在C#WinForms中对Listbox / ListView行的部分进行着色?

有没有办法为ListBox项目的部分(不仅是整行)着色? 例如,列表框项由5个单词组成,只有一个是彩色的,或者是5个中的3个。 有没有办法对ListView做同样的事情? (我知道ListView可以按列着色,但我希望在一列中有多种颜色)。 我只对免费解决方案感兴趣,并且希望它们不会很难实现或改变当前的使用情况(引入彩色ListBox代替正常情况的努力最少)。 带着敬意, 疯狂的男孩

水平滚动winforms listview

任何人都知道是否可以在Windows窗体列表视图中启用水平滚动(viewmode设置为大图标)。 我想要做的是制作一个listview,其高度足以只显示一行图标,我不想有多行。 只有一个非常长的行,用户必须水平滚动才能获得超出范围的图标。 如果我使listview可滚动,那么它会自动生成多行并放入一个垂直滚动条,这是我不想要的。 提前致谢!