TextBox mit demselben Ausschnitt wie TextBlock (TextBox-Vorlage)

8

Das Element TextBlock behandelt LineHeight schön, sodass der Text vollständig und ohne Übersteuerung angezeigt werden kann. Allerdings möchte ich es in ein TextBox ändern, um die Bearbeitung des Textes zu erleichtern, und hier beginnt mein Problem.

Der TextBlock zeigt den folgenden Text an:

Der TextBox zeigt den folgenden Text an:

Ich habe versucht, mit den Eigenschaften ClipToBounds und Clip herumzuspielen, aber es klammert sich nur innerhalb des Elements und wird nicht über die Grenzen hinaus erweitert.

Die LineHeight -Eigenschaft muss niedrig gesetzt werden, um die Lücke zwischen den Zeilen zu regulieren, so dass es keine Option zum Ändern ist.

Ich habe auch Padding ausprobiert, aber das funktioniert nur

Ich würde aus dem Weg gehen und auf Tastendruck zuhören und den Text entsprechend ändern, wenn das die einzige Lösung ist, aber es scheint eine Menge Arbeit zu sein und ich denke nicht, dass es eine gute Lösung wäre Hier ist meine verdichtete Frage:

Wie mache ich TextBox clip nicht so wie TextBlock , wenn es überhaupt möglich ist?

Aktualisieren Hier ist der Styling-Code (was ich momentan sowieso habe) und wo er angewendet wird. %Vor%

Es wird auf dieses Steuerelement innerhalb eines UserControl

angewendet %Vor%

Aktualisieren Basierend auf der Antwort von Cadogis stellte sich der Style-Setter-Code wie folgt heraus: %Vor%

Was das gewünschte Ergebnis hervorbringt

Danke euch beiden dafür, dass ihr mir geholfen habt!

    
Heki 27.07.2015, 07:33
quelle

2 Antworten

2

Ich verpasse hier vielleicht etwas, aber wenn Sie Ihre Textbox aufrufen, können Sie Min- und Max-Werte für Höhe und Breite einstellen und sie dann einfach auf Auto, z. B. setzen.

%Vor%

Ich sollte darauf hinweisen, dass die Verwendung der Option in einem Stack-Panel die Standardhöhe einschränkt. Wenn Sie ein Raster verwenden, erhalten Sie die besten Ergebnisse, da es sich im laufenden Betrieb ausdehnt.

Offensichtlich wollen Sie nicht, dass das Steuerelement unbegrenzt erweitert wird, also werden die maximalen Eigenschaften es beherrschen, wenn es zu groß wird, aber "Auto" sollte es erlauben, richtig zu sortieren. Entschuldigung, wenn ich den Punkt komplett verpasst habe.

Template-Idee

Nicht sicher, ob dies genau das ist, was Sie suchen würden, aber es ist eine modifizierte Vorlage für ein Textfeld, um außerhalb des Rahmens zu rendern (es verwendet einen Dekorator anstelle eines Scrollviewers) - Ich sollte versuchen, eine Option zu geben, die könnte arbeiten.

%Vor%

Als Referenz können Sie dies von MSDN aus betrachten: Ссылка

    
Cadogi 01.09.2015, 10:09
quelle
2

Ich habe Ihre Einstellungen ausprobiert (in Styles in xaml umgeschrieben) und mit dem TextBlock sehe ich dasselbe Display wie Sie. Aber mit der TextBox sind die Buchstaben vollständig sichtbar, nichts wird abgeschnitten.

%Vor%     
tabina 31.08.2015 14:36
quelle