Это также подтачивало меня на время, трюк заключается в том, чтобы поместить вашу стекную панель в scrollviewer.
Кроме того, вам нужно убедиться, что вы задали свойство CanContentScroll средства просмотра прокрутки равным True. пример:
<ScrollViewer Grid.Row="1" Margin="299,12,34,54" Name="ScrollViewer1" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto" Height="195" CanContentScroll="True">
<StackPanel Name="StackPanel1" OverridesDefaultStyle="False" Height="193" Width="376" VerticalAlignment="Top" HorizontalAlignment="Left"></StackPanel>
</ScrollViewer>
Это не о помехах по сравнению с динамическим контролем типов, php является все еще динамичным. Это о контрактах для интерфейсов. Если Вы знаете, что функция требует массива как одного из его параметров, вызовите его тут же в функциональном определении. Я предпочитаю перестать работать быстро, а не erroring позже вниз в функции.
(Также отмечают, что Вы наклоняетесь, указывают тип, подсказывающий для bool, интервала, строки, плавания, которое имеет смысл в динамическом контексте.)
Необходимо использовать тип, подсказывающий каждый раз, когда код в функции определенно полагается на тип переданного параметра. Код генерировал бы ошибку так или иначе, но подсказка типа даст Вам лучшее сообщение об ошибке.
Мотивация группы PHP для добавления вывода подсказок типа должна была предоставить людям, привыкшим к ООП стиля Java с другой функцией, которая сделает платформу более знакомой, удобной, и обращение. Это, в свою очередь, сделало бы PHP большим количеством "предприятия готовый", который поможет Пехлеви с их основным бизнесом.
Маркетинг в стороне, это действительно имеет свое использование. Если Вы пишете метод, который воздействует на параметр в особенном методе, который вызвал бы непреднамеренный (часто тихий) отказы, если бы параметр был чем-то еще, то использование вывода подсказок типа гарантирует, что код повредится во время разработки вместо того, чтобы прервать производство.
Если Вы когда-нибудь решаете, что выполнение типа, подсказывающего, по крайней мере, делает это интерфейсы использования вместо реальных или абстрактных классов. Причина проста, PHP не позволяет множественное наследование, но действительно позволяет реализовывать несколько интерфейсов. Таким образом, если кто-либо попытается пользоваться Вашей библиотекой, то она не испытает затруднения при реализации интерфейса в противоположность случаю, где он должен был бы расширить краткий обзор/реальный класс, учитывая, что он уже уже расширяет другого.
Без типа, подсказывающего его, было бы невозможно для IDE знать тип параметра метода и таким образом обеспечить надлежащий intellisense - у Вашего редактора действительно есть intellisense, правильно? ;). Нужно сказать, что я просто предполагаю, что IDE используют это для intellisense, поскольку это является первым, я услышал о типе, подсказывающем в PHP (спасибо за подсказку btw).