2009-09-10 5 views
1

У меня проблема с использованием ScaleTransform на холсте в Silverlight, Canvas масштабируется правильно, однако значения Height и Width всегда остаются неизменными.
, например. холст 100x100 масштабируется, поэтому появляется 200x200 по 100x100 по отношению к значениям высоты и ширины, как их можно обновить, чтобы отразить новый размер.Как увеличить ширину и высоту ScaleTransform и как ScaleTransform, установив высоту и ширину?

Еще одна связанная с этим проблема заключается в том, как изменить высоту и ширину элемента и соответствующим образом присвоить размер холста или элемента XAML, т.е. установка элемента 100x100 на 200x200 делает все в нем вдвое большим - это должно быть решение, в котором только высота и ширина элемента устанавливаются для изменения масштаба.

Эти вопросы связаны с тем же вопросом - мы надеемся, есть решение, которое работает в Silverlight 3,0


Высота и ширина должны обновляемой так, что когда Canvas находится в ScrollViewer Scrollbar правильно обновляет для новый размер - это происходит, если высота и ширина назначаются вручную для нового масштабированного размера, но это должно работать для всех размеров.
Изначально мне нужно иметь еще один холст, который при изменении его высоты и ширины элементы внутри масштабируются соответствующим образом, так как это будет изменяемый размер значка для использования на том же или другом холсте.


Если это не представляется возможным в Silverlight непосредственно есть в любом случае достижения этого эффекта в коде, если не в XAML, так как это возможно в WPF, если используется ImageBrush, однако Silverlight не поддерживает это и необходимость масштабируемый холст и холст, который при масштабировании обновляет свою собственную высоту и ширину.

ответ

2

UIElement не знает о любом преобразовании, примененном к нему. Поэтому его свойства ширины и высоты не могут отражать преобразование.


Ну один вариант не использовать преобразование вообще, но использовать ViewBox (из SilverLight инструментария)

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

+0

Я не знал об этом, можно ли обновить Height и Width в коде значение post-ScaleTransform для Height и Width? – RoguePlanetoid

+0

Если вы это сделаете, это будет еще больше, так как новая ширина будет масштабироваться. Можете ли вы дать какое-то представление о том, какое использование вы собираетесь использовать, зная ширину и высоту посттрансляции? –

+0

Мне нужна высота и ширина, поскольку у меня есть элемент в ScrollViewer, который обновляет полосу прокрутки с помощью высоты и ширины элемента, поэтому, когда размер масштабируется, но полоса прокрутки по-прежнему «установлена» для исходной высоты/ширины , плюс отображается значение высоты и ширины, которое также необходимо обновить. – RoguePlanetoid

 Смежные вопросы

  • Нет связанных вопросов^_^