如何访问提供给事件处理程序的对象的属性? (调试时可以查看,但不能用智能感知。)
How to access Properties of Objects supplied to event handler? (Can view when debugging, but not with Intellisense.)
我正在尝试查找在 ListView
中选择了哪个项目。更改选择时,我运行以下代码:
private void Change_CurrentConnection(object sender, SelectionChangedEventArgs e)
{
var d = e.AddedItems[0];
}
你可以在这里看到 d
是什么:
我的问题是,如何访问 Id
、Name
和 Url
属性? (属性是来自自定义 class 的字符串。ListView
绑定到从 class 生成的对象集合。)
您需要将项目投射为您的 class,它似乎叫做 Connection?您应该首先检查您正在投射的对象是否确实是您希望将其投射到的类型:
if (e.AddedItems[0] is Connection)
{
Connection toAccess = e.AddedItems[0] as Connection;
// Here you can access the properties directly
string myUrl = toAccess.Url;
}
这样我们就避免了 InvalidCastException。
你也可以按照下面的方式来做
Connection lstViewItem = (Connection)YourListView.SelectedItems[0];
我正在尝试查找在 ListView
中选择了哪个项目。更改选择时,我运行以下代码:
private void Change_CurrentConnection(object sender, SelectionChangedEventArgs e)
{
var d = e.AddedItems[0];
}
你可以在这里看到 d
是什么:
我的问题是,如何访问 Id
、Name
和 Url
属性? (属性是来自自定义 class 的字符串。ListView
绑定到从 class 生成的对象集合。)
您需要将项目投射为您的 class,它似乎叫做 Connection?您应该首先检查您正在投射的对象是否确实是您希望将其投射到的类型:
if (e.AddedItems[0] is Connection)
{
Connection toAccess = e.AddedItems[0] as Connection;
// Here you can access the properties directly
string myUrl = toAccess.Url;
}
这样我们就避免了 InvalidCastException。
你也可以按照下面的方式来做
Connection lstViewItem = (Connection)YourListView.SelectedItems[0];