如何以编程方式获取列表框中绑定项的字符串

本文关键字:绑定 字符串 列表 编程 方式 获取 | 更新日期: 2023-09-27 18:36:57

我有一个列表框项,其中包含一个数据模板,其中包含如下所示的内容:

  <TextBlock Text="{Binding Name}"/>
  <TextBlock Text="{Binding Age}"/>

我用它来向绑定添加值。

ListBox1.Items.Add(New User() With {.Name= "John Crooks", .Age = 42})

例如,是否可以以编程方式检索这些数据。 我正在尝试以编程方式获取所选项目的年龄。 我该怎么做?

如何以编程方式获取列表框中绑定项的字符串

可以将 SelectedItem 属性的值强制转换为数据项类型,然后访问其属性。

在 C# 中:

if (ListBox1.SelectedItem != null)
{
    var myItem = (MyItem)ListBox1.SelectedItem;
    var name = myItem.Name;
}

这在 VB 中应该是这样的:

Dim myItem As MyItem = CType(ListBox1.SelectedItem, MyItem)
Dim name As String = myItem.Name
您需要

在 XAML 中声明:

xmlns:localData="YourAssembly.dll"
d:DataContext="{d:DesignInstance Type=localData:YourClass}"