powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / ViewBox в конструкторе
6 сообщений из 6, страница 1 из 1
ViewBox в конструкторе
    #37393031
zuuu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
есть в коде такая конструкция
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
<StackPanel HorizontalAlignment="Stretch" Name="stackPanel2" VerticalAlignment="Stretch">
  <Viewbox>
    <TextBlock Name="textBlock1" FontSize="64" FontWeight="Bold"  TextAlignment="Center" Margin="20" Text="99.9"/>
  </Viewbox>
  <TextBlock Name="textBlock2" Text="текст 2" FontSize="24" TextAlignment="Center" Margin="5" />
  <TextBlock Name="textBlock3" Text="текст 3" FontSize="24" TextAlignment="Center" Margin="5" />
  <TextBlock Name="textBlock4" Text="текст 4" FontSize="24" TextAlignment="Center" Margin="5" />
</StackPanel>

выглядит нормально в конструкторе и правильно работает при запуске приложения. текст из textBlock1 масштабируется, выглядит все как надо

теперь у textBlock1 заменяю Text="99.9" на Text="{Binding MedValue}"

запускаю и всё становится криво. содержимое textBlock1 отображается правильно, но огромным шрифтом, заполняет всё видимое пространство в стекпанели и все нижележащие TextBlock уползают за нижний экран окна.

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

почему так происходит, ка этого избежать?
...
Рейтинг: 0 / 0
ViewBox в конструкторе
    #37395089
stukselbax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Возможно поможет замена StackPanel на DockPanel. Либо указать явно параметры Stretch и StretchDirection у ViewBox. Должно помочь. MSDN
...
Рейтинг: 0 / 0
ViewBox в конструкторе
    #37411820
zuuu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
stukselbaxЛибо указать явно параметры Stretch и StretchDirection у ViewBox. Должно помочьуказал явно, эффекта не наблюдается :)

вообще, не понятно, почему такое странное поведение при использовании биндинга вместо текста
...
Рейтинг: 0 / 0
ViewBox в конструкторе
    #37412505
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если ты ожидал другого, то напрасно. StackPanel не ограничивает свое содержимое по горизонтали, ViewBox занимает всю предоставленную ему площадь. При измении binding'a происходит перерасчет размеров, на первом проходе у контролов запрашиваются размеры, которые они хотят занять, в этот момент у ViewBox сносит крышу.
...
Рейтинг: 0 / 0
ViewBox в конструкторе
    #37412985
zuuu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SeVaЕсли ты ожидал другого, то напрасно. StackPanel не ограничивает свое содержимое по горизонтали, ViewBox занимает всю предоставленную ему площадь. При измении binding'a происходит перерасчет размеров, на первом проходе у контролов запрашиваются размеры, которые они хотят занять, в этот момент у ViewBox сносит крышу.ну, вообще, да, ожидал другого :)

StackPanel здесь, с вертикальным расположением элементов, размер шрифта указан и при изменении содержимого вертикальный размер меняться не должен. Только при растягивании окна. И это работает так же как и ожидалось , когда в атрибуте Text в XAML указана строка.

Если там указан Binding, то работать перестаёт. Хотя высота текста (размер шрифта) от этого не меняется. Момент не очевидный для меня и как избежать такого эффекта, не понятно
...
Рейтинг: 0 / 0
ViewBox в конструкторе
    #37413013
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чтобы было очевидно, необходимо понимать, как работает рендеринг в два этапа. Для этого достаточно прочесть один букварь
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / ViewBox в конструкторе
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]