Laden...

Schriftgröße vergleichen (System.Drawing und System.Windows.Documents)

Erstellt von JohnShepperd vor 9 Jahren Letzter Beitrag vor 9 Jahren 1.274 Views
J
JohnShepperd Themenstarter:in
11 Beiträge seit 2014
vor 9 Jahren
Schriftgröße vergleichen (System.Drawing und System.Windows.Documents)

Guten Abend,

ich habe ein kleines Problem dabei zwei Schriftgrößen zu vergleichen, die anscheinend nicht vom gleichen Typ sind. Eine kurze Erklärung, was mein Problem im Detail ist:

Ich habe an einer Stelle eines Projektes eine WPF RichTextBox. Hier setze ich mit der Methode ApplyPropertyValue die Schriftgröße auf 22. Später und an einer anderen Stelle des Projektes, wird der RTF formatierte Text meiner ersten RichTextBox in eine Windows Forms RichTextBox geladen. Ich lese mit SelectionFont.Size die Schriftgröße aus und möchte wissen ob diese 22 ist.

**Im konkreten Fall der Schriftgröße 22 gebe ich diese rein und bekomme 16.5 raus. **

Wer es wissen möchte warum ich zwei verschiedene RichTextBoxes verwende: Die eine ist im UI, die andere dient mir als Teil eines Converters. Finde die Text-Eigenschaften sind einfacher über die Windows Forms Variante zu bekommen.

Habe von msdn.microsoft.com einmal rausgesucht, welche Klassen für die Schriftgröße genutzt werden. Wenn ich richtig liege gebe ich die Font.Size Propertie eines TextElements rein und möchte sie (später) als Propertie der Font-Klasse auslesen.

Vielen Dank schon mal für's durchlesen, wobei ein Lösungsansatz auch super wäre 😃

Wenn noch mehr Infos gebraucht werden, trage ich die gerne nach.

3.825 Beiträge seit 2006
vor 9 Jahren

Hallo John,

Winforms und WPF basieren auf komplett verschiedenen Techniken. Deshalb ist es möglich dass gleiche Schriftarten verschieden dargestellt werden. Mach doch am besten alles mit WPF.

Je nachdem welche Schriftart Du benutzt sind nicht alle Schriftgrößen möglich. Es ist möglich dass Du die Schrift auf die Größe 22 setzt und die Schrift dann auf 16,5 gesetzt wird.

Frag die Größe nicht ab sondern setze die andere auch auf 22.

Grüße Bernd

Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3

J
JohnShepperd Themenstarter:in
11 Beiträge seit 2014
vor 9 Jahren

Hallo Bernd,

danke für deine Antwort. Leider glaube ich, mich nicht klar genug ausgedrückt zu haben. In meinem Fall würde es nicht bringen, die andere Schriftgröße auch einfach zu setzen.

In diese zweite RTB (RichTextBox) gebe ich meinen String im RTF Format rein und analysiere den nur, um ihn dann in ein anderes Format zu konvertieren (HTML, BBC, usw.). Nun möchte ich dort wissen, ob die Schriftgröße im RTF String mit einer Schriftgröße übereinstimmt, welche der User voher in der UI RTB festlegen konnte.

Dort sind genau 3 Buttons, welche den Text auf eine festgelegte Größe setzen (22,18,14). Eine freie Wahl der Schriftgröße soll es dort nicht geben. Später möchte ich dann beim analysieren gucken, welche größe der Text nun hat.

Natürlich könnte ich zum analysieren auch eine WPF RTB nehmen, finde (wie im Eingangspost erwähnt) diese aber schwerer zu händeln.

Gruß,
John

Kleiner Nachtrag: Schriftart setze ich keine expliziet. Demnach wohl die Schriftart, welche als default bei der RTB eingestellt ist.