How can I get names from selected ListViewItems?

I have a ListView with data binding to a TreeView bound to an XmlDataProvider database. In ListView, you can select multiple items at once. My problem is that I need to know which items were selected. How can I get names from ListViewItems?

XAML:

<ListView x:Name="listViewCards" DataContext="{Binding ElementName=treeViewCategory, Path=SelectedItem}" ItemsSource="{Binding XPath=./card/title, UpdateSourceTrigger=PropertyChanged}" KeyDown="listViewCards_KeyDown" /> 

WITH#:

 private void listViewCards_KeyDown(object sender, KeyEventArgs e) { IList selectedListViewItems = listViewCards.SelectedItems; if (selectedListViewItems.Count > 1) { //delete all selected items from xml: foreach (XmlNode node in xmlNode.ChildNodes) { if (node.InnerText.Equals( ??? )) { //mark for deleting } } } } 
+4
source share
2 answers

An object of type "System.Windows.Controls.SelectedItemCollection" cannot be converted to "System.Windows.Controls.ListViewItem"

Try the following:

 private void listViewCards_KeyDown(object sender, KeyEventArgs e) { IList selectedListViewItems = listViewCards.SelectedItems; if (selectedListViewItems.Count > 1) { //delete all selected items from xml: var collection = selectedListViewItems.Cast<XmlNode>(); //assuming your underlying data is XmlNode foreach(XmlNode node in collection) { //do whatever you want to do with node if (node.InnerText.Equals( ??? )) { //mark for deleting } } } } 


Related: How to distinguish System.Windows.Controls.SelectedItemCollection?

+2
source
 listViewCards.SelectedItems; 

will return a type (ListViewItem most likely). You will need to use this type if it is of type XmlNode.

 private void listViewCards_KeyDown(object sender, KeyEventArgs e) { IList selectedListViewItems = listViewCards.SelectedItems; if (selectedListViewItems.Count > 1) { foreach(var node in ((ListViewItem)selectedListViewItems).Tag as XMLNode) { // Find your node in whatever type contains your xml // Do Some deleting or what have you. } } } 
0
source

Source: https://habr.com/ru/post/1344100/


All Articles