Вы смотрели на свойство UIElement.Clip ?
Для непрямоугольного переноса текста вы можете попробовать установить свойство TextBlock.Clip для непрямоугольного объекта Geometry. Я не пробовал это; либо он не будет рисовать текст за пределами области клипа, либо обернет текст так, чтобы он поместился в клипе.
Чарльз Петцольд упоминает эту технику .