2013-02-14 18 views
14

Ich habe ein Benutzer Steuerelement, das Wurzelelement ist ein Raster.WPF automatisch Größe ändern Schriftart, bis es in übergeordnete Kontrolle passt

Ich habe auch ein ContentControl, das als Platzhalter für einige Text dient, der gefüllt wird, wenn Daten geladen werden. Dieses Steuerelement kann innerhalb des Benutzersteuerelements verschoben werden, sodass seine Position überall sein kann.

Wenn der Text zu lang ist, um in das Stammraster des Benutzersteuerelements zu passen, möchte ich die Schriftgröße des ContentControl reduzieren, bis der Text passt.

Mein Problem ist, dass ich nicht scheinen kann, ein Ereignis zu finden, mit dem ich diesen Prozess erledigen kann. Ich habe versucht, das ContentControl.LayoutUpdated-Ereignis zu verwenden, aber der Absenderparameter dafür scheint immer nichts zu sein ... was wirklich nicht hilfreich ist!

Ich freue mich wirklich auf jede Beratung, wie dies zu erreichen ist.

Danke

-Frinny

+4

Sie die Content mit einem ViewBox umgeben könnten, die skaliert Das ContentControl passt in das Raster. Ist das eine Option? –

Antwort

28

Wrapping Ihre ContentControl in einem Viewbox Satz nur diese für Sie tun verkleinert:

<Viewbox StretchDirection="DownOnly" Stretch="Uniform"> 
    <ContentControl Content="Some Text"/> 
</Viewbox>