Witam,
proszę o pomoc w napisaniu kodu, który sprawdza czy tekst w textblock'u jest w jednej linii. Męczę się już od dłuższego czasu i nie umiem sobie poradzić. Dziękuję za wszelką pomoc :)
Pozdrawiam.
.Contains("\n")
,gdzie \n oznacza nową linie.
Niestety, ale takie rozwiązanie ciągle nie działa. Piszę
if (txt.Text.Contains("\n"))
{
txt.FontSize -= 15;
}
i zawsze warunek jest false
... Jak widać jestem dość początkujący, wiec proszę o wyrozumiałość ;)
Pozdrawiam.
zamiana znacznika <tt> na <code class="csharp"> - fp
@AlfaLeporis
Dokładnie o to mi chodzi. Mam TextBlock, który użytkownik dynamicznie wypełnia tekstem. Teraz chciałbym, aby w momencie kiedy tekst staje się zbyt długi, to zamiast "przechodzić" do kolejnej linii zmniejszała się czcionka. Jak już wspomniałem, nie umiem sobie poradzić z wyłapaniem momentu, kiedy tekst "przechodzi" do kolejnej linii.
Pozdrawiam
A nie ma w C# funkcji, która zwraca długość napisu w pikselach?
W samym C# zapewne jest, jednak mój program pisany jest pod Windows Phone i tam takiej opcji nie widzę...
W C# takiej funkcji nie ma, bo C# sam w sobie żadnych funkcji nie zawiera. :)
Za to jest metoda Graphics.MeasureString
: http://msdn.microsoft.com/en-us/library/6xe5hazb%28v=vs.110%29.aspx
Nie mam pojęcia, czy jest dostępna pod Windows Phone. Wiem tylko, że taka informację autor powinien zawrzeć w temacie wątku, albo w tagach, a nie w którymś poście z rzędu.