ToString() 返回 System.Windows.Controls.ListBoxItem:在值之前

问题描述 投票:0回答:2

我正在尝试将列表框中的所有项目传递给列表。

foreach (ListItem li in MyListBox.Items)
{
    MyList.Add(li.ToString());
}

结果看起来像:

System.Windows.Controls.ListBoxItem:项目 1

System.Windows.Controls.ListBoxItem:项目 2

有没有办法停止 System.Windows.Controls.ListBoxItem:在每个项目的值之前显示,或者有更好的方法将我的列表框项目发送到我的字符串列表中?

c# wpf listbox tostring listboxitem
2个回答
0
投票

您需要使用控件的

Value
属性:

MyList.Add(li.Value);

Text
它的属性:

MyList.Add(li.Text);

这取决于您实际需要添加到集合中的内容。


0
投票

不幸的是,Text 和 Value 都不是 ListBoxItem 的属性。

在我的 XAML 中,我尝试了两种指定文本的方法: (抱歉,本论坛不允许发布任何带尖括号的内容。) 两者都显示文本就好了。

但是,当我尝试获取所选项目的文本时,它总是有 System.Windows.Controls.ListBoxItem:在字符串中。

var commandItem = Commands.SelectedItem;
var command = commandItem.ToString();
© www.soinside.com 2019 - 2024. All rights reserved.