【发布时间】:2020-03-23 06:42:51
【问题描述】:
我有一个列表框,上面有一个项目,然后它可以被从文本框中输入的文本中提取的几个项目(单词)替换。它们添加了listbox.Items.Add(word)。
我希望能够在它们被选中时将列表框中的这些单词转换回字符串(这样我就可以用它们做其他事情),但是我遇到了两个我不确定如何处理的问题:
- 选择原始项目时出现异常:
System.NullReferenceException: '对象引用未设置为 对象的实例。'
当使用string s = ((ListBoxItem)listbox.SelectedItem).Content.ToString();时
和
"System.NullReferenceException: '对象引用未设置为 对象的实例。'
System.Windows.Controls.Primitives.Selector.SelectedValue.get 返回 空。”
当使用string s = listbox.SelectedValue.ToString();时
- 当任何新项目被选中时,什么都不会发生。我认为这是因为事件处理程序仅附加到开始时列表中的单个项目,但我不确定如何将其应用于尚不存在的项目。选择列表框中的任何项目时是否有事件处理程序?
任何帮助将不胜感激,在此先感谢您。
【问题讨论】:
-
I assume this is because the event handler is only attached to the single item that's on the list in the beginning- 你在使用列表框SelectionChanged事件吗?那么情况就不是这样了。 -
使用它确实解决了这两个问题,谢谢!
标签: c# wpf string xaml listbox