Frage

Wie kann ich eine neue Zeile in dem Text eines Etiketts in WPF hinzufügen wie die folgenden?

<Label>Lorem 
  ipsum</Label>
War es hilfreich?

Lösung

<Label><TextBlock>Lorem<LineBreak/>ipsum</TextBlock></Label>

Sie müssen TextBlock- verwenden, da TextBlock- als Kinder eine Sammlung von Inline-Objekte akzeptiert. So geben Sie den Textblock-Element drei Inline-Elemente: Führen Sie Text = "Lorem", Linebreak und Run Text = "ipsum".

Sie können nicht wie folgt vor:

<Label>Lorem<LineBreak/>ipsum</Label>`

, weil ein Etikett übernimmt ein geordnetes Inhaltselement.

Auch nicht sicher, was genau Ihr Anwendungsfall ist aber bemerke ich einen Textblock in Ihrem Label-Elemente platziert. Ist es repetitiven? Nicht wirklich, je nach Bedarf. Hier ist ein guter Artikel über die Unterschiede zwischen den beiden Elementen: Der Unterschied zwischen Etikett und TextBlock-

Andere Tipps

in WPF können Sie den Wert "&#10;" verwenden oder "&#xA;"

Zum Beispiel:

<Label Content="Lorem&#10;ipsum" />

( "10" ist die ASCII-Nummer für Newline)

oder

<Label Content="Lorem&#xA;ipsum" />

( "A" ist die ASCII-Nummer für Newline in hex)

Beispiel, mit einer Grenze nahen Label boundry zeigen

Wenn diese im Ansichtsmodell oder Modell zu tun, ich habe, dass Environment.NewLine das konsequenteste Ergebnis, einschließlich der Lokalisierung hat mit gefunden. Es sollte auch direkt in den Ansichtsmodus arbeiten, aber ich habe das nicht getestet.

Beispiel:

In der Ansicht

<Label Content="{Binding SomeStringObject.ParameterName}" />

Im Ansichtsmodell:

SomeStringObject.ParameterName = "First line" + Environment.NewLine + "Second line";
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top