WPF如何查找单击的列表框项目
我有一个WPF应用程序,其中有一个列表框,其中填充了“Match”类型的项。 如何使按钮(包含在项目中)实际选择项目,以便提取值 这是我的代码:两者都不起作用,因为单击按钮实际上并没有选择项目WPF如何查找单击的列表框项目,wpf,button,listbox,click,listboxitem,Wpf,Button,Listbox,Click,Listboxitem,我有一个WPF应用程序,其中有一个列表框,其中填充了“Match”类型的项。 如何使按钮(包含在项目中)实际选择项目,以便提取值 这是我的代码:两者都不起作用,因为单击按钮实际上并没有选择项目 private void LayButton_Click(object sender, RoutedEventArgs e) { var x = (Market)ListBoxSelectedMarket.SelectedItem; var y = (sender as ListBoxIt
private void LayButton_Click(object sender, RoutedEventArgs e)
{
var x = (Market)ListBoxSelectedMarket.SelectedItem;
var y = (sender as ListBoxItem);
}
谢谢我没有做太多的WPF编程,但是如果按钮与WinForms容器对象的工作方式相同,您可以尝试获取该按钮的父对象。您应该能够从单击的按钮中使用DataContext并从中获取ListBoxItem容器,然后选择它
private void LayButton_Click(object sender, RoutedEventArgs e)
{
Button button = sender as Button;
var dataContext = button.DataContext;
ListBoxItem clickedListBoxItem = ListBoxSelectedMarket.ItemContainerGenerator.ContainerFromItem(dataContext) as ListBoxItem;
clickedListBoxItem.IsSelected = true;
}
如果您要绑定到一个对象,另一种方法可以是(在VB中) 然后,这将为您提供一个要使用的对象实例,并在列表框中保存所有映射字段
Private Sub OTC_Settled_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs)
Dim pr_YourObject As New YourObject
Dim btn As Button = CType(sender, Button)
OTC = DirectCast(btn.DataContext, pr_YourObject)
End Sub