5 Stimmen

Explorer/Ordneransicht im Vista-Stil

Ich versuche, eine Liste von großen (256x256) Symbole in einer Listview ähnlich wie Vista Explorer Windows haben, aber die Winforms' Listview-Steuerelement sieht nicht wie Vista Listview.

Bevor ich in WPF graben, kann jemand mir sagen, wenn WPF listview dies tun kann?

Im Grunde bekomme ich das hier (einfarbig blaue Auswahl):

alt text

anstelle dieser (halbtransparenten blauen Auswahl):

alt text

Kann ich dies auch mit WinForms erreichen?

Übrigens verwende ich Windows 7.

0 Stimmen

Der zweite Link erzeugt einen Fehler 404 nicht gefunden.

0 Stimmen

Die Links wurden in Bilder umgewandelt.

0 Stimmen

Nur ein Bild, das zweite ist noch kaputt

5voto

arbiter Punkte 9273

Nicht sicher über WPF, aber in WinForms müssen Sie "Explorer"-Thema auf Ihre Listenansicht anwenden, um Explorer-ähnliche UI zu erreichen.

[DllImport("uxtheme.dll")]
public extern static int SetWindowTheme(
    IntPtr hWnd,
    [MarshalAs(UnmanagedType.LPWStr)] string pszSubAppName,
    [MarshalAs(UnmanagedType.LPWStr)] string pszSubIdList);

SetWindowTheme(listView.Handle, "explorer", null);

1voto

Richard McGuire Punkte 10290

Ja, Sie können dies in WPF erreichen; Sie können einen Trigger verwenden, wie in dem MSDN-Artikel beschrieben: So geht's: Auslöser verwenden, um ausgewählte Elemente in einer Listenansicht zu gestalten .

Eine vollständige Stichprobe steht ebenfalls zum Download zur Verfügung.

Ich bin mir nicht sicher, ob dies in WinForms möglich ist.

Aktualisierung: Als Antwort auf die Frage in dem unten stehenden Kommentar ist dies durchaus möglich. Auch hier gibt es ein Beispiel online bei MSDN mit dem Titel ListView, die Daten sortiert Beispiel .

0 Stimmen

Danke, Rick. Wissen Sie auch, ob es möglich ist, die genaue Explorer-Funktionalität (zum Anzeigen von Dateien) mit benutzerdefinierten Filtern usw. zu haben?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X