2009-07-10 6 views

Antwort

2

ListView ist ein ItemsControl. ItemsControl.Items gibt das Kind Steuerelemente nicht zurück - es gibt die Elemente zurück - dh Objekte, die Sie entweder direkt oder über Datenbindung zu ListView hinzugefügt haben. Ich denke, in diesem Fall haben Sie Ihre ListView an etwas XML gebunden, richtig?

ListViewItem (und andere Klassen wie es - z. B. ListBoxItem für ListBox) wird ein "Element Container" genannt. Um einen Artikel Container für einen bestimmten Artikel abrufen, sollten Sie dies tun:

ListView lv; 
... 
foreach (object item in lv.Items) 
{ 
    ListViewItem lvi = (ListViewItem)lv.ItemContainerGenerator.ContainerFromItem(item); 
} 
+0

ausgezeichnet und schnelle Antwort! Ich wusste das nicht über WPF ListViews. Ja, es ist an eine XML-Datei gebunden. Ihre Erklärung war sehr hilfreich. – KevinDeus

0

Sie müssen die ListViewItem zugreifen, die das Datenelement darstellt. Sie können, dass durch die ItemContainerGenerator

foreach (object item in this.lvwSourceFiles.Items) 
{ 
    UIElement ui = lvwSourceFiles.ItemContainerGenerator.ContainerFromItem(item) as UIElement; 
    if (ui != null) 
     ui.IsEnabled = false; 
} 
-3

erreichen Sie, dass Sie leicht

In XAML ausführen können

Verwandte Themen