Deaktivieren Sie die änderung der Größe einer Spalte in einem ListView

Es ist ein ListView in mein Fenster, hat eine Reihe von Spalten. Einige oder alle Spalten müssen nicht veränderbar durch den Benutzer, denn Sie haben bereits die optimale Breite und zufällige Größenänderung macht es nur noch schlimmer. Nun, es gibt einige Antworten auf diese Frage angeboten, aber alle von Ihnen am Ende mit der Neugestaltung der Steuern. Leider dann ich am Ende mit zahlreichen Seiten von XAML-code ist sehr Plattform/theme-spezifisch. Wenn ich erstellen Sie eine Kopie der Standard-Stil mit einer Mischung, ich bekomme jede Menge Farbverläufe etc, dass funktioniert nur bei Win7 Aero, aber nicht im XP-Design oder was auch immer kommen wird.

Ersetzt damit den gesamten Stil der Steuerung ist keine option. (Es ist kaum jemals wirklich ist.)

Hab ich schon identifiziert, der Teil, der versteckt werden muß, ist es mit dem Namen "PART_HeaderGripper". Ich habe so etwas getan, bevor Sie, entfernen die läuft, Leuchten und andere Teile eine ProgressBar mit dem folgenden code im code-behind:

var glow = progressBar.Template.FindName("PART_GlowRect", progressBar) as FrameworkElement;
if (glow != null) glow.Visibility = visibility;

Aber das funktioniert nicht mit einem GridViewColumnHeader, weil Vorlage.FindName nicht alles finden (gibt null zurück). Ich bin mir ziemlich sicher, dass es muss ein Weg gefunden werden, ändern Sie die Grafik zur Laufzeit. Aber ich kann nicht herausfinden, gerade jetzt. Irgendeine Idee?

InformationsquelleAutor ygoe | 2012-09-26
Schreibe einen Kommentar