IL controllo Label in WPF non ha la proprieta TextWrapping, per cui se la Label contiene un testo molto lungo, puo succedere che non venga visualizzato completamente o estenda in modo eccessivo il controllo che contiene la Label.
Per ovviare a questo basta semplicemente inserire un TextBlock all’interno della Label ed impostare la proprieta TextWrapping su Wrap in questo modo
<LabelMaxWidth=“80”><TextBlockText=“bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla“/>Label>
Se, come nel mio caso, si ha la necessita di sostituire tutte le Label in un applicazione, perche supportino il TextWrapping, allora il lavoro diventa abbastanza lungo.
Per questo ho creato uno UserControl che eredita da label ed espone in piu le proprieta TextWrap, TextEffects, TextTrimming, ed al posto di Content la proprietà LabelText attraverso la quale è possibile specificare il testo che conterrà la Label.
Come per il controllo EDKGroupBox, anche questo si trova nel namespace EDKControls cosi per utilizzarlo, basta dichiarare nella pagina XAML il namespace in questo modo:
xmlns:EDKControls=“clr-namespace:EDKWpfControls;assembly=EDKWpfControls”
e quindi inserire nella pagina il controllo
<EDKControls:EDKWrapLabel MaxWidth=“80”LabelText=“bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla”TextWrap=“Wrap“><EDKControls:EDKWrapLabel>
Questa è la classe che definisce il controllo.
WPF Label con controllo del TextWrapping,