0

基本上,当我尝试将查询结果转换为可用格式时,我会得到诸如“systems.collections.whatever”之类的输出

相反,我想要返回的实际数字。这就是我选择我想要的值的方式

 listBox2.DisplayMemberPath = "MonthlyHourLimit";
            listBox2.ItemsSource = e.Result;
            if (this.listBox2.Items.Count > 0)
                this.listBox2.SelectedIndex = 0;
            limit = listBox2.SelectedItem.ToString();

我应该得到“156”,但我得到的是“Timesheet_System.userDataService.UserData”

4

1 回答 1

1

ListBox.SelectedItem的类型是objectToString()任何对象的 都是类型名称。

要获取实际的字符串值,您需要先转换listBox2.SelectedItem为您的数据类型。

我假设你SelectedItem的类型是UserData基于它给你的名字.ToString(),所以使用这样的东西:

((UserData)listBox2.SelectedItem).ToString();

或者如果你想limit等于DisplayMemberPath

((UserData)listBox2.SelectedItem).MonthlyHourLimit;
于 2013-02-01T19:35:35.270 回答