2009-10-13 5 views

risposta

43

Non so se è una versione precedente di WPF, ma su Visual Studio 2008, il seguente è sufficiente a rimuovere tutti i bordi ei colori di un controllo ListView

<ListView Background="Transparent" BorderThickness="0"> 
+1

Testato con Visual Studio 2015. Funziona! – Marco7757

+1

Testato con il targeting di Visual Studio 2013 .Net 4.5 –

6

Per molti degli stili di controllo WPF incorporati, è necessario eseguire l'override di ControlTemplate per ottenere questo livello di controllo sul rendering.

Here è la pagina MSDN che fornisce il ControlTemplate di ListView, con le istruzioni su come utilizzarlo, in pratica si stanno inserendo copie locali di tutti gli stili per il controllo ListView, che quindi sostituiscono l'aspetto di controllo predefinito.

Per eliminare il bordo rientrato, è necessario trovare la definizione di bordo specifica nel modello di controllo che causa il comportamento che si desidera modificare; ce ne sono molti, ma dovrebbe essere abbastanza facile da capire quale causa sta causando il rientro usando tentativi ed errori e/o Snoop.

+1

già un vecchio post, ma finalmente questo mi ha aiutato: 'Background =" Transparent "BorderThickness =" 0 "Padding =" 0 "' Impostalo su ogni controllo previsto che supporta un bordo. – Rolfi

-3
listview1.BorderStyle = BorderStyle.None 
+2

Forse è colpa mia, ma non ho trovato alcuna proprietà in WPF per 'ListView'. –

+0

Sei corretto non ci sono tali proprietà. – kenjara