Думайте о нем как о реализации "Инверсии Управления" шаблон. Я предполагаю, Ваша проблема, Вы так привыкли к ней, Вы не понимаете, что это настолько просто.
Позволяют нам запуститься вначале.
В программах первых лет следовал за данным путем через код. Распоряжение вызванных функций было дано программистом.
В интерактивных программах, например, главным образом ЛЮБОЙ программе, Вы не можете сказать, в какую функцию заходят во сколько. Только посмотрите на GUI или веб-сайт. Вы не можете сказать, в какое время, какая кнопка или ссылка нажаты. Таким образом, "управление" того, что происходит, больше не в программе, это во внешнем источнике. "Управление" было инвертировано. Функция больше не "действует", она вместо этого "слушает". Думайте о голливудском принципе: "Не звоните нам, мы звоним Вам". Слушатель является хорошим примером для реализации этого шаблона.
МОК понят функциями или "методами" в "объектно-ориентированном мире" сегодня.
"Внедрение зависимости" теперь означает то же, но не для "методов", которые делают что-то , а для "объектов", которые содержат данные .
данные больше не являются частью объекта, содержащего его. Это "введено" в объект во времени выполнения. Для пребывания в Голливуде думайте о кинозвезде, играя в гольф для разговора о бизнесе, но оставаться в форме, она голодает сама вниз, минимизируя ее вес мышц, и поэтому она только в состоянии нести один клуб за один раз.
Так, на поле для гольфа ее игра в большой степени зависела бы от одного клуба, она несет.
Lucky для нее, существуют кэдди, неся много клубов когда-то, и также имея знание что клуб использовать в какое время. Теперь она независима от своей ограниченной возможности нести гольф-клубы. "Не думайте о конкретном клубе для износа, мы знаем их всех и даем Вам правильного в нужное время".
кинозвезда является объектом, и гольф-клубы являются членами объекта. Это - внедрение зависимости.
Оберните его в средстве просмотра прокрутки:
<ScrollViewer>
<TextBlock />
</ScrollViewer>
ПРИМЕЧАНИЕ этот ответ относится к TextBlock
(текстовый элемент только для чтения), как было запрошено в оригинале вопрос.
Если вы хотите отображать полосы прокрутки в TextBox
(редактируемый текстовый элемент), используйте вложенные свойства ScrollViewer
:
<TextBox ScrollViewer.HorizontalScrollBarVisibility="Disabled"
ScrollViewer.VerticalScrollBarVisibility="Auto" />
Допустимые значения для этих двух свойств: Отключено
, Авто
, Скрыто
и Видно
.
теперь может использовать следующее:
<TextBox Name="myTextBox"
ScrollViewer.HorizontalScrollBarVisibility="Auto"
ScrollViewer.VerticalScrollBarVisibility="Auto"
ScrollViewer.CanContentScroll="True">SOME TEXT
</TextBox>