Я понимаю, что это довольно старый вопрос, но я обнаружил, что при использовании следующего кода
TextBlock textBlock = new TextBlock();
textBlock.Text = "NR valve";
Size msrSize = new Size(100, 200);
textBlock.Measure(msrSize);
Size dsrdSize = textBlock.DesiredSize;
dsrdSize возвращается как {47.05,15.96}Уловка, кажется, делает msrSize больше, чем ожидаемый фактический размер.msrSize, кажется, действует как ограничение для результата DesiredSize ().Например, использование msrSize = new Size (10, 10) приводит к dsrdSize здесь {10,10}.Надеюсь, это кому-нибудь поможет.