Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在列表框窗口中显示WPF列表框文本?_Wpf_Listbox - Fatal编程技术网

如何在列表框窗口中显示WPF列表框文本?

如何在列表框窗口中显示WPF列表框文本?,wpf,listbox,Wpf,Listbox,我只是尝试将ID值(使用ListBox.SelectedValuePath)设置为WPF ListBox,并在ListBox窗口中显示关联的(日期)文本(使用ListBox.DisplayMemberPath)。问题是我无法从列表框窗口获取文本!我已经使用组合框多次这样做了,但它似乎不适用于列表框。ListBox没有用于获取ListBox窗口中显示的文本的ListBox.Text属性,在本例中为日期。这是我的代码(我正试图从lstBidPeriods窗口获取文本,通过查询数据库中的假期来填充第二

我只是尝试将ID值(使用ListBox.SelectedValuePath)设置为WPF ListBox,并在ListBox窗口中显示关联的(日期)文本(使用ListBox.DisplayMemberPath)。问题是我无法从列表框窗口获取文本!我已经使用组合框多次这样做了,但它似乎不适用于列表框。ListBox没有用于获取ListBox窗口中显示的文本的ListBox.Text属性,在本例中为日期。这是我的代码(我正试图从lstBidPeriods窗口获取文本,通过查询数据库中的假期来填充第二个列表框(lstlayes),从lstBidPeriods中查找所选投标期的日期):


请:我不需要绑任何东西,所以不要去那里。这应该是一个简单的过程,而不是任何不必要的绑定复杂的事情。

请允许我解释一下您在代码中所做的一些事情,答案将非常清楚

将向listbox提供“ListContent”对象的列表

lstBidPeriods.DisplayMemberPath = "Text";
lstBidPeriods.ItemsSource = func.GetBidPeriods(....
因此,我假设ListContent类中有一个名为“Text”的公共属性。如果是这样,那么将显示您的列表,其中列出了您的BIDDPeriods的ID。太好了

但你也指明了这一点:

lstBidPeriods.SelectedValuePath = "Value";
通过这样做,您可以稍微改变选择的工作方式。让我们看看各种选择属性

lstBidPeriods.SelectedItem-返回所选的实际ListContent实例,因为您传递了ListContent实例列表

lstBidPeriods.SelectedValue-返回所选ListContent实例的“Value”属性-因此这是日期字符串

lstBidPeriods.SelectedIndex-返回列表中选定项的索引

因此,要获取日期字符串,请使用SelectedValue

if (DateTime.TryParse(lstBidPeriods.SelectedValue.ToString(), out date))
{
   ...
}

就这样。

你说“我不需要绑定任何东西”是什么意思?如果要显示列表框,则需要一次添加一个项目或绑定到集合。我知道问题所在,但我不欣赏你的资本法令。糟糕的是,你回答了我的问题,关于SelectedItem返回ListContent类(包含文本和值属性)。事实上,我应该自己想清楚。我需要能够得到两个ID和日期;值和文本。我可以通过ListBox SelectedItem捕获选定的ListContent类来实现这一点。不过,使用组合框更容易,因为它为框中选定的文本提供了文本属性。
if (DateTime.TryParse(lstBidPeriods.SelectedValue.ToString(), out date))
{
   ...
}