Come utilizzare un GridSplitter in WPF

March 16

Questo articolo intende dimostrare come impostare un WPF GridSplitter in XAML utilizzando Microsoft Visual Studio 2008. Mi scuso per la scarsa formattazione del codice XAML, ma eHow non ha alcun supporto per la formattazione del codice. Copiare il codice nel vostro editor e sostituire tutte le occorrenze di <con <per visualizzare il codice corretto. Questo articolo si presuppone che il lettore sa già come utilizzare il controllo WPF griglia. La sezione delle risorse di seguito contiene collegamenti a libri WPF che mi sento di raccomandare.

istruzione

1 Come utilizzare un GridSplitter in WPF

Creare un'applicazione WPF in Visual Studio 2008 e creare una griglia con una riga e due colonne. Poi posto un blocco di testo in ogni maglia. Il XAML dovrebbe essere simile a questo:

<Window x: Class = "GridsplitterSample.Window1"

xmlns=&quot;http://schemas.microsoft.com/winfx/2006/xaml/presentation&quot;
xmlns:x=&quot;http://schemas.microsoft.com/winfx/2006/xaml&quot;
Title=&quot;GridSplitter Sample&quot; Height=&quot;300&quot; Width=&quot;300&quot;>
&lt;Grid>
&lt;Grid.RowDefinitions>
&lt;RowDefinition>&lt;/RowDefinition>
&lt;/Grid.RowDefinitions>
&lt;Grid.ColumnDefinitions>
&lt;ColumnDefinition>&lt;/ColumnDefinition>
&lt;ColumnDefinition>&lt;/ColumnDefinition>
&lt;/Grid.ColumnDefinitions>

& Lt; TextBlock Grid.Row = & quot; 0 & quot; Grid.Column = & quot; 0 & quot; Sfondo = & quot; LIGHTGRAY & quot; Margine = & quot; 0 0 4 0 & quot;> Block 1 & lt; / TextBlock>
& Lt; TextBlock Grid.Row = & quot; 0 & quot; Grid.Column = & quot; 1 & quot; Grid.RowSpan = & quot; 2 & quot; Sfondo = & quot; verde chiaro & quot;> Blocco 2 & lt; / TextBlock>
& Lt; / Griglia>

</ Finestra>

2 Come utilizzare un GridSplitter in WPF


Aggiungi un GridSplitter. Questo può essere fatto in due modi. La prima tecnica consiste nel creare una colonna separata o riga dedicata al GridSplitter. La seconda tecnica è aggiungere il GridSplitter ad una colonna esistente. Questo articolo intende dimostrare utilizzando la seconda tecnica. L'aggiunta di un GridSplitter in questo modo richiede solo una singola linea di codice XAML:

<GridSplitter Grid.Row = "0" Grid.Column = "0" HorizontalAlignment = "right" width = "4" Sfondo = "giallo" />

I controlli di proprietà HorizontalAlignment quale lato della colonna appare lo splitter via.

3 Come utilizzare un GridSplitter in WPF


Si noti che non si può vedere il divisore quando si esegue l'applicazione. Questo perché il TextBlock è la larghezza della colonna ed è reso davanti splitter.

4 Sappiate che un modo per risolvere questo problema sarebbe quella di modificare l'ordine z dei controlli sia mettendo il GridSplitter dopo TextBlock o impostando in modo esplicito la proprietà ZIndex. Il difetto di questo approccio è che il GridSplitter avrebbe oscurare il bordo destro del TextBlock. 5 Come utilizzare un GridSplitter in WPF


Fissare questo il modo corretto impostando un margine sul lato destro del blocco di testo in modo che vi sia spazio per il GridSplitter di coesistere con TextBlock nella colonna. Il codice finale è simile al seguente:

<Window x: Class = "GridsplitterSample.Window1"

xmlns=&quot;http://schemas.microsoft.com/winfx/2006/xaml/presentation&quot;
xmlns:x=&quot;http://schemas.microsoft.com/winfx/2006/xaml&quot;
Title=&quot;GridSplitter Sample&quot; Height=&quot;300&quot; Width=&quot;300&quot;>
&lt;Grid>
&lt;Grid.RowDefinitions>
&lt;RowDefinition>&lt;/RowDefinition>
&lt;/Grid.RowDefinitions>
&lt;Grid.ColumnDefinitions>
&lt;ColumnDefinition>&lt;/ColumnDefinition>
&lt;ColumnDefinition>&lt;/ColumnDefinition>
&lt;/Grid.ColumnDefinitions>

& Lt; GridSplitter Grid.Row = & quot; 0 & quot; Grid.Column = & quot; 0 & quot; HorizontalAlignment = & quot; A destra & quot; Width = & quot; 4 & quot; Sfondo = & quot; Yellow & quot; />
& Lt; TextBlock Grid.Row = & quot; 0 & quot; Grid.Column = & quot; 0 & quot; Margine = & quot; 0 0 4 0 & quot; Sfondo = & quot; LIGHTGRAY & quot;> Testo Block & lt; / TextBlock>
& Lt; TextBlock Grid.Row = & quot; 0 & quot; Grid.Column = & quot; 1 & quot; Sfondo = & quot; verde chiaro & quot;> Testo Block 2 & lt; / TextBlock>
& Lt; / Griglia>

</ Finestra>

6 Come utilizzare un GridSplitter in WPF


Eseguire l'applicazione e vedere due blocchi di testo e uno splitter che vi permetterà loro di ridimensionare.