如何以编程方式获取列表框中绑定项的字符串?
How to get the string of binded item in a listbox programmatically?
我有一个带有数据模板的列表框项目,它具有如下内容:
<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}"
我有一个带有数据模板的列表框项目,它具有如下内容:
<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}"