291 votes

Comment peux j’encapsule le texte dans une étiquette à l’aide de WPF ?

J’ai un TextBox et un Label. Après avoir cliqué sur un bouton, j’exécute le code suivant :

Ma question est, comment puis-je activer le texte à la ligne de l’étiquette ? Il peut y avoir trop de texte à afficher sur une seule ligne, et je le veux à être automatiquement renvoyé sur plusieurs lignes si c’est le cas.

445voto

Cody Gray Points 102261

Le contrôle ne supporte pas directement les habillage du texte dans WPF. Vous devez utiliser un [ ](http://msdn.microsoft.com/en-us/library/system.windows.controls.textblock.aspx) à la place. (Bien sûr, vous pouvez placer le *à l’intérieur* d’un de contrôle, si vous le souhaitez.)

Exemple de code :

119voto

PaulJ Points 977

Souvent, vous ne pouvez pas remplacer un Label avec un TextBlock que vous le souhaitez à l'utilisation de l' Target de la propriété (ce qui définit le focus à l' ciblées de contrôle lors de l'utilisation du clavier par exemple ALT+C dans l'exemple de code ci-dessous), comme c'est tout un Label offre vraiment plus d'un TextBlock.

Cependant, une Label utilise un TextBlock pour rendre le texte (si une chaîne est placée dans l' Content de la propriété, qui, d'habitude, il l'est); par conséquent, vous pouvez ajouter un style pour TextBlock à l'intérieur de l' Label comme:

<Label              
    Content="_Content Text:"
    Target="{Binding ElementName=MyTargetControl}">
    <Label.Resources>
        <Style TargetType="TextBlock">
            <Setter Property="TextWrapping" Value="Wrap" />
        </Style>
    </Label.Resources>
 </Label>
 <CheckBox x:Name = "MyTargetControl" />

De cette façon, vous arrivez à garder la fonctionnalité d'un Label tout en étant aussi capable d'envelopper le texte.

113voto

bbdaffy Points 181

J’ai utilisé le code suivant.

39voto

Adrian Faciu Points 6042

Vous pouvez placer une zone de texte à l’intérieur de l’étiquette, quelque chose comme :

19voto

Rajesh R. Naik Points 53

Afin d’encapsuler le texte dans le contrôle label, changer le modèle d’étiquette, comme suit :

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X