2013-02-14 8 views
14

Mam kontrolę użytkownika, który jest elementem głównym jest siatka.Automatyczna zmiana rozmiaru czcionki WPF, dopóki nie zmieści się w nadrzędnej kontroli

Posiadam również ContentControl, który służy jako element zastępczy dla tekstu wypełnionego podczas ładowania danych. Kontrolę tę można przemieszczać w obrębie kontroli użytkownika, dzięki czemu jej pozycja może być dowolna.

Jeśli tekst jest zbyt długi, aby zmieścić się w siatce głównej kontrolki użytkownika, chcę zmniejszyć rozmiar czcionki ContentControl, dopóki tekst się nie zmieści.

Moim problemem jest to, że nie mogę znaleźć zdarzenia, które poradzę sobie z tym procesem. Próbowałem używać zdarzenia ContentControl.LayoutUpdated, jednak parametr nadawcy dla tego zawsze wydaje się nic ... co nie jest naprawdę pomocne!

Naprawdę nie mogę się doczekać żadnej porady, jak to osiągnąć.

Dziękuję

-Frinny

+4

Można otoczyć ContentControl z ViewBox że będą skalowane ContentControl, aby zmieścił się w siatce. Czy to jest opcja? –

Odpowiedz

28

Owijanie swój ContentControl w Viewbox ustawiony tylko skalowanie w dół zrobi to za ciebie:

<Viewbox StretchDirection="DownOnly" Stretch="Uniform"> 
    <ContentControl Content="Some Text"/> 
</Viewbox> 
Powiązane problemy