Tag: listbox

澄清MVVM中绑定Listbox.SelectedItem

我在我的一个用户控件中有一个ListBox ,我希望在ViewModel中使用SelectedItem 。 ListBox由TextBlocks组成。 这个问题几乎是我的问题的直接答案,但我不明白DisneyCharacter (他的集合类型)来自哪里,或者它与ListBox 。 我的类型是TextBlock吗? 要求的ListBox XAML:

如果ListBox包含,请不要添加

我有一个方法: FillListBox(); 我从不同的地方调用这个方法..但有时会发生,事情被加载了两次! 现在我正在尝试做类似的事情: if (listBox.Items[1].ToString() == “hello”) { DO NOT FILL } else { FILL } 这不行! 🙁 Fault: InvalidArgument=Value of ‘1’ is not valid for ‘index’. Parameter name: index 这样的事情: if(listBox.Items.Contains(“hello”)) { DONT FILL } 也不工作:( 我能做什么?

WPF ListBox在用户滚动时生成项目

我试图使用ListBox向用户显示可能无限的选项列表。 目前,我只是在任意点切断列表,但我想让用户尽可能地向下滚动。 此外,我希望尽可能避免生成不可见的项目,因为必须进行一些计算才能生成每个项目。 我尝试编写listBox.ItemsSource = enumerable期望它只询问可枚举的可见项,而是尝试读取所有导致无限循环的项,如果有无限多的项。 我最好的想法是添加一个侦听器,每当ListBox向下滚动时都会收到通知,并添加新项目,以便在最后一个项目可见后k更多项目(其中k可能是一次可见的项目数,因此Page Down工作) 。 有一些更清洁的方法来处理这个?

通过代码选择多个Listbox项目

嗨,我已经搜索了一段时间,似乎无法找到我的问题的解决方案,我已经尝试了多种方法通过代码在我的列表框中选择多个项目,但没有一个工作,我得到的最好的结果是1选择项目在我的列表框中。 基本上我想选择相同值的多个项目。 下面是我的代码,抱歉,如果我看起来是新手,但我是编程新手,还在学习基本的东西。 foreach (string p in listBox1.Items) { if (p == searchstring) { index = listBox1.Items.IndexOf(p); listBox1.SetSelected(index,true); } } 因此,你可以看到我试图告诉程序循环遍历列表框中的所有项目,并且对于每个等于“searchstring”的项目获取索引并将其设置为选中。 但是,所有这些代码都是选择列表中的第一个项目,它等于“searchstring”使它被选中并停止,它不会遍历所有“searchstring”项。

为什么foreach在从ListView中删除项目时起作用而在ListBox中不起作用?

我开始学习C#,我对我发现的行为感到有点困惑。 我试着弄清楚,为什么在一种情况下代码工作而在另一种情况下不工作: foreach (ListViewItem l in listView1.SelectedItems) l.Remove(); foreach (object l in listBox1.SelectedItems) listBox1.Items.Remove(l); 第一个工作正常,没有错误,但第二个抛出exception与集合被更改的信息。 有人能解释一下吗? PS。 在ListView的情况下,我正在调试代码和集合SelectedItems正在改变,但即使它运作良好。

覆盖ListBox的DrawItem – 未重绘未选择的项目

这是一个C#桌面应用程序。 我的ListBox的DrawStyle属性设置为OwnerDrawFixed 。 问题:我重写DrawItem以不同的字体绘制文本,它的工作原理。 但是当我开始在运行时调整窗体大小时,所选项目被正确绘制,但其余部分没有重绘,导致文本看起来对于未选择的项目是损坏的。 这是我的代码: private void listDevices_DrawItem(object sender, DrawItemEventArgs e) { e.DrawBackground(); string textDevice = ((ListBox)sender).Items[e.Index].ToString(); e.Graphics.DrawString(textDevice, new Font(“Ariel”, 15, FontStyle.Bold), new SolidBrush(Color.Black), e.Bounds, StringFormat.GenericDefault); // Figure out where to draw IP StringFormat copy = new StringFormat( StringFormatFlags.NoWrap | StringFormatFlags.MeasureTrailingSpaces ); copy.SetMeasurableCharacterRanges(new CharacterRange[] {new CharacterRange(0, textDevice.Length)}); Region[] regions = e.Graphics.MeasureCharacterRanges( textDevice, new Font(“Ariel”, […]

在列表框中显示项目有哪些可能性?

我一直试图弄清楚如何创建一个界面,该界面可以允许用户输入多行数据并将这些条目一次性传递到SQL服务器数据库中。 我无法得到任何更好的想法所以我想出了这个(见下图)。 我设想的是用户在文本框中输入值并点击“添加到列表”按钮。 然后在下面的列表框中使用标题“展示列表”填充这些值,并且当按下添加展示按钮时,列表框中的所有值都将传递到数据库中。 好吧,我再次想知道是否可以将这些值从文本框绑定到列表框以及我是否能够将它们传递到数据库中。 如果有可能那么我会很高兴知道如何去做,否则我会很高兴,如果你能推荐一个更好的方法来处理这种情况,否则我必须一次解决一个数据输入。 我相信这个网站上有一些有用的信息可以帮助解决我的问题,但我无法对文章做出正面或反面……似乎我几乎就在那里,它就会滑落。 大家可以阅读并帮助我适应我的情况吗? 发布如下: http://www.codeproject.com/KB/aspnet/ExtendedGridView.aspx

使用Silverlight获取列表框中多个所选项的索引

我有一个ListBox,它由Silverlight 3.0中的Multiple SelectionMode中的网格项组成。 当我使用ListBox.SelectedIndex时,它只返回选中的第一个项目。 我希望能够看到所有选定的项目,以便它将返回所有选定的项目索引,例如; 2,5和7等 有帮助吗? 干杯, Turtlepower。

带有可选项的透明WPF ListBox

任何人都可以建议我如何实现一个WPF ListBox(有效地)具有透明/命中测试不可见的背景,但其项目仍然是命中测试可见的? 换句话说,我希望能够通过ListBox的背景点击它下面的控件,但仍然可以选择ListBox的项目。 我有ListBox使用自定义布局面板(它是一个ListBox,因为项目需要是可选择的)。 但是,我需要将此面板叠加在其他控件的顶部,以允许它们仍然正常使用。 我尝试过Background=”Transparent”和IsHitTestVisible=”False”各种组合,但我怀疑我可能会走错路…… 希望这是有道理的 – 我是WPF的新手,所以任何指导都会非常感激! 谢谢。

在OwnerDraw模式下ListBox DrawItem HotLight状态?

我在我的WinForms应用程序中使用OwnerDrawFixed作为DrawMode用于自定义ListBox控件。 当用户将鼠标hover在列表框项目上时,我希望重新绘制ListBoxItem的背景(或执行其他操作),即在MouseMove … DrawItemState.HotLight永远DrawItemState.HotLight用于ListBox,所以我想知道如何模拟它,如何解决这个问题。