Гость
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / ViewBox в конструкторе / 6 сообщений из 6, страница 1 из 1
12.08.2011, 15:43
    #37393031
zuuu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ViewBox в конструкторе
есть в коде такая конструкция
Код: 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
15.08.2011, 08:33
    #37395089
stukselbax
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ViewBox в конструкторе
Возможно поможет замена StackPanel на DockPanel. Либо указать явно параметры Stretch и StretchDirection у ViewBox. Должно помочь. MSDN
...
Рейтинг: 0 / 0
25.08.2011, 14:46
    #37411820
zuuu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ViewBox в конструкторе
stukselbaxЛибо указать явно параметры Stretch и StretchDirection у ViewBox. Должно помочьуказал явно, эффекта не наблюдается :)

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

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

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


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