Выравнивание содержимого метки WPF

#wpf #wpf-controls

#wpf #wpf-элементы управления

Вопрос:

В метке WPF выравнивается таким образом, что при увеличении размера шрифта размер метки увеличивается в нижнем правом углу.

альтернативный текст

Есть ли возможность увеличить его в верхнем правом направлении?

PS.

Метки содержатся в Canvas .

Ответ №1:

Если вы укажете вертикальное положение метки внутри холста с помощью Canvas.Верхняя часть будет увеличиваться вниз при увеличении размера шрифта. Если вы укажете вертикальное положение с помощью Canvas.Снизу она будет расти вверх. То же самое относится и к Canvas.Слева и на холсте.Правильно.

Ответ №2:

Задайте нижние и левые свойства элемента управления.

 <Label Canvas.Bottom="50" Canvas.Left="50">Hello</Label>
  

Ответ №3:

В каком контейнере хранятся ваши ярлыки?

Похоже, вы пытаетесь нанести точку на холст и добавить метки. Я бы рекомендовал поместить обе метки на одну панель, чтобы они масштабировались вместе, затем просто расположите панель в нужной точке на холсте.

В качестве альтернативы вы могли бы рассмотреть возможность использования RenderTransform на вашей метке вместо изменения размера шрифта. Вы можете масштабировать метку до большего размера и установить центральную точку шкалы, чтобы настроить направление ее масштабирования.

Комментарии:

1. контейнер представляет собой холст. Я не могу использовать RenderTransform, потому что пользователь указывает конкретный размер шрифта.

2. Если метки содержатся в чем-то, что обеспечивает принудительную компоновку содержимого, например в StackPanel , вы должны быть в состоянии поддерживать поля между ними…

3. @djacobson: Метки содержатся в холсте. Я могу, но не знаю как прямо сейчас 🙂

4. @serhio Надписи содержатся сами по себе Canvas , или одна большая Canvas содержит все визуальные элементы графика? Вы должны просто иметь возможность вставлять их Labels в свои собственные StackPanel внутри более крупного Canvas . Кроме того, как вы привязываете метки к точкам графика? Вы заглядывали в Adorners ?