#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 ?