что такое скролл бар
Заходят как-то два браузера в скроллбар…
Скроллбар (scrollbar, полоса прокрутки) — это простой, но эффективный механизм, который действует как основное средство, с помощью которого можно просматривать большие документы. Но это — далеко не всё, на что способны полосы прокрутки! Эти скромные рабочие лошадки ещё и неплохо подсказывают пользователям о том, каковы размеры документов, с которыми они взаимодействуют. В результате скроллбары несут на себе двойную нагрузку. Они и помогают работать с различными материалами, и информируют пользователя о размерах этих материалов.
Простая и понятная логика скроллбаров может быть изменена при реализации механизмов скроллджекинга. Это происходит тогда, когда стандартное поведение скроллбара меняется, что нарушает ожидаемое пользователем соответствие между длиной документа и высотой скроллбара.
Более того — программы для устройств, обладающих сенсорными экранами, популяризировали идею скрытия скроллбаров. При таком подходе скроллбары оказываются невидимыми до тех пор, пока пользователь не начнёт прокручивать элемент, не помещающийся в некую область просмотра. В результате оказывается, что ради визуальной привлекательности приложений дизайнеры жертвуют понятностью интерфейсов. Пользователю может понадобиться некоторое время на то, чтобы понять, что содержимое в некоем контейнере можно прокручивать. Такой контейнер может выглядеть так, будто прокрутку он не поддерживает, или так, будто прокрутка ему просто не нужна.
Классические настольные операционные системы подхватили этот мобильный тренд, пытаясь свести к минимуму вмешательство традиционных скроллбаров в дизайн приложений.
Материал, перевод которого мы публикуем сегодня, посвящён некоторым особенностям использования скроллбаров в веб-приложениях.
Немного терминологии
Прежде чем мы продолжим — давайте определимся с парой терминов, которые мы будем тут использовать. А именно, мы выделяем две разновидности скроллбаров:
Стандартное поведение современных скроллбаров
По умолчанию и в iOS, и в Android скроллбары являются нефиксированными.
В macOS (в частности, речь идёт об актуальной на момент написания этого материала macOS Mojave) скроллбары скрыты до момента начала прокрутки элемента. Это — стандартное поведение системы в ситуации, когда к компьютеру не подключена мышь. Существует три варианта отображения скроллбаров (соответствующие настройки можно найти по адресу General > System Preferences ).
Настройки скроллбаров в macOS Mojave
Эти настройки, как удалось выяснить, контролируют поведение скроллбаров в браузерах Chrome, Firefox, и в новом Edge, основанном на Chromium.
Вот видео, посмотрев которое можно узнать о том, как вышеупомянутые настройки влияют на скроллбары, и о том, как скроллбары, помимо того, что позволяют прокручивать контент, на него воздействуют. Вот несколько извлечений из этого видео.
Фиксированный скроллбар в macOS виден всегда и занимает некоторое экранное пространство
Нефиксированный скроллбар в macOS накладывается на контент в процессе прокрутки документа
Нефиксированный скроллбар в macOS скрыт в тот момент, когда документ не прокручивают
Настройки скроллбаров в Windows 10
Обзор задачи
Вот как выглядит в Windows страница, которую мы рассматривали выше в macOS.
Страница со скроллбаром в Windows
Скроллбары в Windows по умолчанию являются фиксированными. Они, кроме того, выглядят довольно-таки «тяжёлыми» с точки зрения дизайна. Они, в их стандартном варианте, гораздо шире, чем их собратья из macOS. Кроме того, цвет скроллбаров в Windows обычно соответствует системным настройкам, а не цветовой палитре веб-страницы.
Дизайнерам, которые привыкли к окружению macOS, но занимаются разработкой веб-приложений, рассчитанных на различные платформы, может быть нелегко сделать так, чтобы их проекты и хорошо выглядели бы в разных ОС, и при этом не тратили бы на визуализацию слишком много системных ресурсов.
Требования к проекту
Мы хотим разработать веб-приложение, скроллбары, используемые в котором, отличаются следующими особенностями:
Насколько далеко можно продвинуться, используя CSS?
Если говорить о CSS-свойствах, имеющих отношение к скроллингу, то тут, возможно, полезным будет почитать о свойстве overscroll-behavior. Оно позволяет управлять поведением системы при достижении границы элемента, поддерживающего прокрутку.
▍Firefox
Браузер Firefox поддерживает CSS-свойства без префиксов. Это — scrollbar-color и scrollbar-width.
В следующем примере, для понятности, используются CSS-переменные, которые не поддерживаются в Internet Explorer 11:
▍Chrome и Safari, браузер Edge, основанный на Chromium, и прочие браузеры
Браузеры, основанные на Webkit и Blink, поддерживают нестандартные псевдо-элементы, предназначенные для настройки скроллбаров:
Вот пример на CodePen, демонстрирующий возможности по настройке скроллбаров, выполняемой исключительно средствами CSS. А вот — пример, в котором демонстрируется стандартное поведение скроллбаров. Можете их сравнить.
Надо отметить, что у вышеприведённого кода есть одна проблема. Она заключается в том, что при установке свойств height или width псевдо-элемента ::-webkit-scrollbar в macOS производится замена нефиксированного скроллбара на фиксированный (происходит переопределение стандартных настроек). Однако это несложно исправить с помощью небольшого фрагмента JavaScript-кода.
CSS и немного JS
Мы можем добавить в проект небольшой объём JavaScript-кода, который позволяет узнать о том, является ли стандартный скроллбар фиксированным или нет. Выглядит это примерно так:
Здесь можно найти пример применения методики, предусматривающей совместное использование CSS и JavaScript. Вот, для сравнения, пример, демонстрирующий стандартное поведение системы.
Итоги: обзор решения задачи
На устройствах с сенсорными экранами, на которых применяются нефиксированные скроллбары (то есть — на iOS и Android-устройствах) мы просто пользуемся стандартным поведением скроллбаров.
В macOS у нас появляется возможность учитывать системные настройки, сделанные пользователем. Это означает, что мы не осуществляем непреднамеренного переключения между нефиксированными и фиксированными скроллбарами. Мы применяем стили лишь к фиксированным скроллбарам, которые видны всегда. Это позволяет нам приводить внешний вид страниц в соответствие с нашими требованиями к дизайну проекта.
В Windows, а именно — в браузерах Firefox и Chrome, нет стандартных нефиксированных скроллбаров, но тут можно, как и в других случаях, применить наш подход, предусматривающий использование исключительно возможностей CSS. Благодаря тому, что мы смогли выйти на работающие примеры использования скроллбаров, настраиваемых средствами CSS, нам удалось прийти к согласию с нашей командой дизайнеров. Мы остановились на компромиссном варианте и избежали использования тяжёлых JavaScript-решений.
Вот демонстрационные проекты, суть которых была описана выше:
Полосу прокрутки следует отличать от слайдера, который является еще одним визуально похожим, но функционально другим объектом. Ползунок используется для изменения значений, но не меняет отображение и не перемещает отображаемую область, как это делает полоса прокрутки.
Содержание
История и прогресс
В 1974 году перемещение курсора к левому краю при использовании Bravo изменило его форму на двунаправленную стрелку, чтобы обеспечить возможность прокрутки. Нажатие левой или верхней красной кнопки прокручивает содержимое вверх, а строка рядом с курсором перемещается в верхнюю часть окна. Нажатие правой или нижней синей кнопки прокручивает содержимое вниз, а строка в верхней части окна спускается до курсора. Удерживание средней желтой кнопки изменяет курсор на большой палец, позволяя перейти к этому проценту документа с индикатором текущего размещения.
В 1977 году Smalltalk включил стабильную полосу прокрутки в левой части окна фокуса. Щелчок по правой половине полосы прокрутки перемещает содержимое вверх, а левая половина перемещает содержимое вниз. Большой палец в центре панели можно было плавно перетаскивать и отображать процент видимого содержимого; первая пропорциональная полоса прокрутки.
В 1980 году в Interlisp была полоса прокрутки, которая появлялась в левой части окна, когда курсор перемещался влево. Заштрихованный большой палец панели показывает процент видимого содержимого и управляется средней кнопкой. Левая кнопка прокручивается вверх, чтобы переместить выбранное положение к верхнему краю окна, а правая кнопка прокручивается вниз, чтобы переместить верхний край окна в выбранное положение.
В 1983 году у Apple Lisa были стрелки, указывающие вверх и вниз, кнопки страниц и большой палец фиксированного размера.
В 1984 году у Macintosh был светло-серый прямоугольник с ползунком «ползунок», дорожкой «серая зона» и стрелками, указывающими в противоположных направлениях к контенту, который будет отображаться при нажатии соответствующей стрелки. Стрелки будут прокручивать отдельный блок при одном щелчке или автоматически повторять при непрерывном нажатии. Кнопки страниц были удалены, и вместо этого можно было щелкнуть по направляющей лифта, чтобы перейти к следующему разделу. При нажатии на большой палец, перетаскивание приведет его к этой конкретной точке, если перед отпусканием не будет сделано движение далеко за пределы полосы прокрутки, что приведет к отмене действия. Пустая полоса прокрутки отображалась, когда окно не было в фокусе или если весь документ был виден в окне.
Также в 1985 году Viewpoint использовала правую кнопку для перемещения содержимого по процентам или по окну, а не по страницам.
В 1988 году компания Open Look создала большой палец лифта со стрелками прямо на нем. Щелчок по дорожке, перемещаемой по страницам, и автоповтор толкает указатель. Кабельные анкеры размещались в начале и конце документа, а центр лифта можно было перетащить.
В 1989 году NeXT переместил полосу прокрутки обратно в левую часть окна. Большой палец был пропорционального размера со стрелками вместе внизу панели. Действия повторяются автоматически, а нажатие клавиши alt перемещает содержимое по окну. Большой палец можно было перетащить, и использование клавиши Alt во время перетаскивания замедляло его движение.
В 1997 году PalmPilot включал обычную полосу прокрутки, где текст выходил за границы экрана с использованием перетаскиваемого большого пальца и стрелок, которые можно было нажимать с помощью стилуса. Он также имел две физические кнопки для прокрутки вверх и вниз соответственно.
В 2001 году Mac OS X 10.0 использовала пропорциональный большой палец и перемещала обе кнопки со стрелками в нижнюю часть панели.
В 2007 году iPhone и iOS включали обычную полосу прокрутки в веб-браузере и других приложениях, хотя она была предназначена только для вывода и с ней нельзя было взаимодействовать. В контактах была предусмотрена полоса прокрутки букв для перехода по содержимому.
В 2011 году Mac OS X 10.7 удалила кнопки с конца панели и была разработана так, чтобы больше походить на полосу прокрутки iOS. В том же выпуске Mac OS X 10.7 Apple представила «естественную прокрутку», что означает, что экран перемещается в том же направлении, что и пальцы пользователя, когда они используют жест прокрутки двумя пальцами. Если пальцы пользователя перемещаются вверх по трекпаду, контент на странице поднимается вверх, позволяя пользователю читать контент дальше по странице, и наоборот.
В версии Microsoft Word для Mac 2015 года были введены исчезающие полосы прокрутки. Размещение в документе больше не было видно, когда указатель мыши находился за пределами области панели, даже если рассматриваемое окно было в фокусе. Цель этого изменения состояла в том, чтобы соответствовать стандартным методам проектирования Mac по скрытию полосы прокрутки, когда она не нужна немедленно для целей иерархии информации.
Применение
Перетаскивание пальцем
Исторически сложилось так, что перетаскивание большого пальца является традиционным способом управления полосой прокрутки. Переместив курсор на большой палец на экране, а затем нажав и удерживая, большой палец можно перетащить. Это часто делается с помощью трекпада или левой кнопки мыши на обычной мыши или сенсорной панели. Перемещение курсора при нажатии вниз перемещает ползунок полосы прокрутки для просмотра различных разделов страницы. В приложениях, родных для OS X 10.11 (и некоторых предыдущих версий OS X), полосы прокрутки не отображаются в пользовательском интерфейсе, пока пользователь не использует другой метод прокрутки, например прокрутку двумя пальцами или клавиши со стрелками. Следовательно, пользователь должен сначала выполнить прокрутку с помощью одного из этих методов, а затем переместить курсор на ползунок, где бы он ни появился.
В Microsoft Windows перемещение мыши слишком далеко от большого пальца при перетаскивании приведет к сбросу положения прокрутки на предыдущее.
Колесо прокрутки
Также можно использовать колесо прокрутки на обычной мыши. При перемещении колеса в нужном направлении содержимое перемещается в том же направлении. Большинство мышей имеют колеса прокрутки, которые прокручивают только вверх и вниз, но некоторые мыши содержат колеса прокрутки, которые позволяют пользователю прокручивать в любом направлении (вверх, вниз, влево или вправо), включая диагональные направления. При прокрутке вверх и вниз направление, в котором прокручивается страница в ответ на направление, в котором пользователь прокручивает колесо прокрутки, может различаться в зависимости от настроек прокрутки компьютера.
Клавиши со стрелками
Кнопки со стрелками на клавиатуре можно нажимать для прокрутки страницы вверх, вниз, влево или вправо. Этот метод прокрутки обычно приводит к очень медленной прокрутке экрана по сравнению с другими методами прокрутки. Нажатие кнопок со стрелками приведет к продолжению прокрутки страницы до тех пор, пока не будет достигнут один из пределов прокрутки.
Щелчок по желобу
По желобу над или под ползунком можно щелкнуть, чтобы сразу перейти к этой точке на странице, или постранично для многостраничного контента. После щелчка по желобу прокрутка начинается автоматически, а затем останавливается, как только большой палец достигает положения указателя мыши. Этот метод прокрутки быстрее, чем другие, и его лучше всего использовать, когда пользователю нужно прокрутить сразу много контента или когда пользователь знает, где именно на странице ему нужно прокрутить.
Экранные кнопки со стрелками
В BeOS экранные кнопки прокрутки для обоих направлений появляются на обоих концах полосы прокрутки. В некоторых программах Microsoft Office дополнительные кнопки ⏪ и ⏩ могут использоваться для постраничной навигации.
Различные кнопки мыши
Тачпад Windows
Кроме того, на некоторых компьютерах под управлением Windows есть механизм прокрутки сбоку сенсорной панели, как показано на рисунке. Чтобы использовать этот механизм, палец помещается в область прокрутки и перемещается вверх и вниз или влево и вправо для прокрутки страницы. Опять же, в зависимости от настроек прокрутки компьютера, перемещение пальца в определенных направлениях вдоль этих областей прокрутки может привести к различным соответствующим направлениям прокрутки.
Трекпад Mac
Альтернативные конструкции
Было предложено или реализовано множество вариантов традиционного дизайна и использования полосы прокрутки. Чтобы избежать ограничения видимости окна полосами прокрутки при сохранении функциональности, было предложено использовать программный трос (тонкая линия), связанный с перемещением указателя мыши по тросу. Точно так же полосу прокрутки можно разместить непосредственно внутри содержимого, где она будет полезна, как для уменьшения используемого пространства, так и для уменьшения необходимых перемещений указателя.
Включение визуальных и рабочих подсказок в область отображения полосы прокрутки может указать, какие направления позволяют прокручивать движение, а также какие взаимодействия с полосой прокрутки доступны. Это может быть пустое поле, сигнализирующее об окончании списка, отключении кнопок прокрутки и изменении цвета полосы прокрутки.
Некоторые полосы прокрутки включают в себя визуальный индикатор положения, который помогает определить, где действие прокрутки прошло или будет перемещаться в содержимом. Для многостраничного контента индикатор текущего номера страницы по сравнению с общим номером страницы может быть включен рядом с ползунком при прокрутке, а более широкие полосы прокрутки могут включать обзор всей страницы. В полосах прокрутки, подобных тем, которые используются в телефонных списках контактов, состоящих из букв алфавита, буква, соответствующая текущей области, может быть увеличена или выделена каким-либо образом. Хотя они стабильны и предоставляются приложением, некоторые приложения и поисковые системы позволяют использовать маркеры релевантности, предоставленные или добавленные пользователем. Они могут быть строго визуальными или могут автоматически останавливать действие на полосе прокрутки при достижении каждого маркера. Они могут быть подчеркнуты цветом или даже звуком, чтобы дополнительно помочь пользователю найти то, что ему нужно в контенте.
Одновременная 2D-прокрутка
В ОС RISC перетаскивание полосы прокрутки левой кнопкой мыши работает обычным образом, но перетаскивание правой кнопкой приводит к исчезновению указателя и одновременному манипулированию обеими полосами прокрутки. Многие операции с графическим интерфейсом пользователя в ОС RISC при щелчке правой кнопкой мыши выполняют связанные, но немного другие функции.
Настройка
WebKit также предоставляет множество псевдоклассов для изменения стиля полос прокрутки.
Полосы прокрутки также были улучшены для кодирования информации о записях списка. Например, в Google Chrome на вертикальной полосе прокрутки есть метки впадины, чтобы указать места в документе, где был найден конкретный поисковый запрос.
Ограничения и проблемы
Компьютерные грамотные пользователи часто знакомы с полосами прокрутки, но люди с ограниченными знаниями могут не понимать их интуитивно, особенно с учетом более поздних вариантов, без посторонней помощи. Независимо от грамотности, можно найти множество проблем с различными типами полос прокрутки и их взаимодействием. С точки зрения дизайна, если размер окна уже мал, видимая область содержимого будет еще больше уменьшена за счет наличия полосы прокрутки. В то время как некоторые недавно исчезнувшие полосы прокрутки помогают смягчить эту проблему, более традиционные не позволяют избежать ее, особенно когда присутствуют как горизонтальные, так и вертикальные полосы.
С точки зрения использования, многие общие проблемы связаны с точностью. Сопоставление полосы прокрутки и дисплея является линейным, поэтому точность использования зависит от размера содержимого. Тогда навигация по меньшему документу будет проще, чем по большому документу. Это также означает, что все части документа подчеркнуты одинаково, и важность каждой части не распознается с помощью полосы прокрутки.
Нечасто указывается, где в содержимом была достигнута прокрутка, если только действие прокрутки не остановлено для просмотра содержимого. Это затрудняет независимо от того, знает ли пользователь, что он ищет, или общую организацию контента. Те, у которых есть индикатор, ограничены предопределенными настройками видимости, количества и стиля. При попытке прокрутки при выполнении такого действия, как выделение, величина прокрутки может не соответствовать желаемой величине, выходить за рамки или предлагать пользователю изменить положение несколько раз. Перерегулирование также может произойти при попытке разместить рядом с верхом или низом отдельной страницы в большом наборе. Попытка регулировки небольшой прокрутки пользователем может привести к увеличению прокрутки, поскольку прокрутка активирует автоматическое действие, переходящее на следующую страницу.
Исследования
В отчете Уильяма Бакстона и Брэда Майерса за 1986 год были протестированы различные способы взаимодействия двумя руками, включая прокрутку, щелчок и изменение размера. В их исследовании щелчок и изменение размера выполнялись параллельно. В первом эксперименте участникам предлагалось выполнить задачу выбора / позиционирования, а во втором эксперименте участникам предлагалось выполнить сложную задачу навигации / выбора. Исследование показало, что пользователи могут выполнять эти задачи быстрее и параллельно, когда они используют обе руки, но не обязательно, когда они используют обе руки одновременно. Они также обнаружили, что чем более взаимосвязанными были задачи, которые пользователь выполнял каждой рукой, тем быстрее они выполняли задачи, которые их просили выполнить.
Scroll Bar Класс
Определение
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет элемент управления, предоставляющий полосу прокрутки со скользящим элементом Thumb, положение которого соответствует значению.
Примеры
В следующем примере показано, как создать горизонтальную ось ScrollBar с диапазоном значений от 0 до 100.
Комментарии
На следующем рисунке показан ScrollBar элемент управления.
TrackСвойства в следующей таблице являются целевыми объектами привязки для соответствующих свойств, ScrollBar Если Track свойство не определено явным образом. Если явно определить Track свойство, привязка не выполняется.
Свойство Track | Свойство ScrollBar |
---|---|
Track.Maximum | RangeBase.Maximum |
Track.Minimum | RangeBase.Minimum |
Track.Value | RangeBase.Value |
Можно получить доступ к Track элементу управления ScrollBar элемента управления с помощью Track Свойства.
Чтобы отобразить UIElement содержимое внутри поля с полосами прокрутки, используйте ScrollViewer элемент управления.
Настройка элемента управления ScrollBar
Свойства зависимостей для этого элемента управления могут быть установлены стилем элемента управления по умолчанию. Если свойство задано стилем по умолчанию, свойство может измениться по умолчанию, когда элемент управления появится в приложении. Стиль по умолчанию определяется тем, какая тема рабочего стола используется при запуске приложения. Дополнительные сведения см. в разделе темы WPF по умолчанию.
Визуальное свойство будет действовать, только если оно одновременно присутствует в шаблоне элемента управления по умолчанию и задано с использованием TemplateBinding. Список визуальных свойств доступен в разделе Настройка визуальной структуры элемента управления статьи Настройка внешнего вида существующего элемента управления путем создания объекта ControlTemplate.
Конструкторы
Инициализирует новый экземпляр класса ScrollBar.
Команда, уведомляющая ScrollViewer о том, что пользователь перетаскивает Thumb горизонтальной полосы прокрутки ScrollBar до значения, заданного свойством Parameter.
Команда, уведомляющая ScrollViewer о том, что пользователь перетаскивает Thumb вертикальной полосы прокрутки ScrollBar до значения, заданного свойством Parameter.
Команда, прокручивающая ScrollBar на небольшое расстояние по вертикали с увеличением значения Track.
Команда, прокручивающая ScrollBar на небольшое расстояние по горизонтали с уменьшением значения Track.
Команда, прокручивающая ScrollBar на небольшое расстояние по горизонтали с увеличением значения Track.
Команда, прокручивающая ScrollBar на небольшое расстояние по вертикали с уменьшением значения Track.
Идентифицирует свойство зависимостей Orientation.
Команда, прокручивающая ScrollBar на большое расстояние по вертикали с увеличением значения Track.
Команда, прокручивающая ScrollBar на большое расстояние по горизонтали с уменьшением значения Track.
Команда, прокручивающая ScrollBar на большое расстояние по горизонтали с увеличением значения Track.
Команда, прокручивающая ScrollBar на большое расстояние по вертикали с уменьшением значения Track.
Идентифицирует направленное событие Scroll.
Команда, прокручивающая ScrollBar до точки щелчка мыши, открывшего ContextMenu в ScrollBar.
Команда, прокручивающая ScrollBar до значения Maximum.
Команда, прокручивающая содержимое до правого нижнего угла элемента управления ScrollViewer.
Команда, прокручивающая содержимое до левого верхнего угла элемента управления ScrollViewer.
Команда, прокручивающая горизонтальный ScrollBar в ScrollViewer до значения, заданного в Parameter.
Команда, прокручивающая ScrollBar до значения Minimum для горизонтального ScrollBar.
Команда, прокручивающая ScrollBar до значения Maximum для горизонтального ScrollBar.
Команда, прокручивающая ScrollBar до значения Maximum для вертикального ScrollBar.
Команда, прокручивающая вертикальный ScrollBar в ScrollViewer до значения, заданного в Parameter.
Идентифицирует свойство зависимостей ViewportSize.
Свойства
Возвращает визуализированную высоту данного элемента.
Возвращает визуализированную ширину данного элемента.
Получение или установка значения, определяющего возможность использования элемента в качестве целевого объекта для операции перетаскивания. Это свойство зависимостей.
Получает значение, которое указывает, была ли хотя бы одна операция сенсорного ввода передана в данный элемент.
Получает значение, указывающее, была ли хотя бы одна операция сенсорного ввода передана в данный элемент или в какой-либо из его дочерних элементов в визуальном дереве.
Получает значение, которое указывает, произошло ли хотя бы одно сенсорное нажатие данного элемента.
Получает значение, указывающее, произошло ли хотя бы одно сенсорное нажатие данного элемента или какого-либо из его дочерних элементов в визуальном дереве.
Возвращает или задает кисть, которая описывает фон элемента управления.
Возвращает или задает группу BindingGroup, которая используется для элемента.
Получение или установка эффекта для точечных рисунков, который применяется непосредственно к отображаемому содержимому этого элемента. Это свойство зависимостей.
Получение или установка источника входных данных эффекта для точечных рисунков, который применяется непосредственно к отображаемому содержимому этого элемента. Это свойство зависимостей.
Возвращает или задает кисть, которая описывает фоновый цвет границы элемента управления.
Возвращает или задает толщину границы элемента управления.
Получает или задает кэшированное представление объекта UIElement.
Получает или задает геометрию, используемую для определения контура содержимого элемента. Это свойство зависимостей.
Получение или установка значения, определяющего усечение содержимого этого элемента (или содержимого, поступающего из его дочерних элементов) в соответствии с размерами содержащего его элемента. Это свойство зависимостей.
Получает коллекцию объектов CommandBinding, сопоставленных с этим элементом. Привязка CommandBinding включает обработку команды для данного элемента и объявляет связь между командой, ее событиями и обработчиками, присоединенные данным элементом.
Возвращает или задает элемент контекстного меню, который должен отображаться при запросе контекстного меню в пользовательском интерфейсе из этого элемента.
Получение или установка курсора, который отображается при наведении указателя мыши на этот элемент.
Получает или задает контекст данных для элемента, участвующего в привязке данных.
Возвращает или задает ключ, используемый для ссылки на стиль этого элемента управления, при использовании или определении тематических стилей.
Возвращает размер, вычисленный этим элементом на этапе измерения процесса компоновки.
Возвращает объект Dispatcher, с которым связан этот объект DispatcherObject.
Получает или задает эффект растрового изображения, который применяется к объекту UIElement. Это свойство зависимостей.
Возвращает или задает направление, в котором текст и другие элементы пользовательского интерфейса поступают в любой родительский элемент, который управляет их макетом.
Получение или установка значения, определяющего возможность получения фокуса элементом. Это свойство зависимостей.
Получает или задает свойство, позволяющее настройку внешнего вида, эффектов или других характеристик стиля, применяемых к данному элементу, когда он получает фокус клавиатуры.
Возвращает или задает семейство шрифтов элемента управления.
Получение или установка размера шрифта.
Получение или установка межсимвольного интервала.
Возвращает или задает стиль шрифта.
Получение или установка насыщенности или толщины указанного шрифта.
Возвращает или задает значение, указывающее, должен ли этот пользовательский FrameworkElement интерфейс принудительно отображать курсор, как объявлено Cursor свойством.
Возвращает или задает кисть, которая описывает основной цвет.
Возвращает значение, указывающее, поддерживает ли элемент управления прокрутку.
Возвращает значение, указывающее, имеет ли данный элемент какие-либо анимированные свойства.
Возвращает значение, информирующее о фокусе UIElement.
Получает или задает предлагаемую высоту элемента.
Получение или установка характеристик выравнивания по горизонтали, применяемых к этому элементу при его размещении в родительском элементе управления, например в панели или элементе управления элементами.
Возвращает или задает способ горизонтального выравнивания содержимого элемента управления.
Получает или задает пределы области видимости для наследования значений свойств, поиска ключей ресурсов и поиска RelativeSource FindAncestor.
Получение коллекции привязок ввода, связанных с этим элементом.
Получает или задает контекст для входных данных, используемых этим элементом FrameworkElement.
Возвращает значение, указывающее, являются ли действительными вычисленные размер и позиция дочерних элементов в структуре данного элемента.
Возвращает или задает значение, указывающее, включен ли этот элемент в пользовательском интерфейсе. Это свойство зависимостей.
Возвращает значение, указывающее, включен ли ScrollBar.
Получает значение, определяющее, имеет ли элемент логический фокус. Это свойство зависимостей.
Получение или установка значения, определяющего возможность возврата этого элемента в качестве результата проверки нажатия в какой-либо части его отображаемого содержимого. Это свойство зависимостей.
Возвращает значение, указывающее, инициализирован ли этот элемент во время обработки обработчиком XAML или путем явного EndInit() вызова метода.
Возвращает значение, указывающее, включена ли система метода ввода, например редактор метода ввода (IME), для обработки входных данных этого элемента.
Получает значение, указывающее, имеет ли данный элемент фокус ввода с клавиатуры. Это свойство зависимостей.
Получает значение, указывающее, находится ли фокус клавиатуры где-либо в элементе или в его дочерних элементах визуального дерева. Это свойство зависимостей.
Возвращает значение, указывающее, загружен ли данный элемент для презентации.
Получает или задает значение, которое определяет, включены ли события манипулирования для данного элемента UIElement.
Возвращает значение, указывающее, действителен ли текущий размер, возвращенный измерением структуры.
Получает или задает значение, указывающее, была ли мышь захвачена элементом управления. Это свойство зависимостей.
Возвращает значение, определяющее, удерживается ли захват мыши данным элементом или дочерними элементами его визуального дерева. Это свойство зависимостей.
Возвращает значение, указывающее, соответствует ли позиция указателя мыши результатам проверки нажатия, при которой учитывается компоновка элемента. Это свойство зависимостей.
Получает значение, указывающее, находится ли указатель мыши над данным элементом (включая дочерние элементы в визуальном дереве). Это свойство зависимостей.
Получает значение, указывающее, является ли этот экземпляр в данный момент запечатанным (доступным только для чтения).
Получает значение, указывающее, захвачено ли перо эти элементом. Это свойство зависимостей.
Возвращает значение, определяющее, удерживается ли захват пера данным элементом или элементом в пределах его границ и визуального дерева. Это свойство зависимостей.
Возвращает значение, указывающее, соответствует ли позиция пера результатам проверки нажатия, при которой учитывается компоновка элемента. Это свойство зависимостей.
Возвращает значение, указывающее, наведен ли курсор пера на этот элемент (включая визуальные дочерние элементы). Это свойство зависимостей.
Возвращает или задает значение, показывающее, включается ли элемент управления в переходы по ТАВ.
Возвращает значение, указывающее, является ли этот элемент видимым в пользовательском интерфейсе. Это свойство зависимостей.
Возвращает или задает сведения о языке локализации и глобализации, который применяется к элементу.
Возвращает или задает значение для добавления или вычитания из Value элемента управления RangeBase.
Получает или задает графическое преобразование, которое применяется к элементу при изменении параметров размещения.
Возвращает перечислитель для логических дочерних элементов данного элемента.
Получает или задает значение внешнего поля элемента.
Получение или установка максимально допустимой высоты элемента.
Возвращает или задает максимальное возможное значение Value элемента диапазона.
Получение или установка максимально допустимой ширины элемента.
Получение или установка минимально допустимой высоты элемента.
элемента диапазона возможный Minimum значения Value элемента диапазона.
Получение или установка минимально допустимой ширины элемента.
Возвращает или задает имя, обозначающее элемент. Имя предоставляет ссылку, чтобы код программной части, такой как код обработчика событий, мог ссылаться на элемент разметки после его создания во время обработки обработчиком XAML.
Возвращает или задает коэффициент непрозрачности, применяемый ко всему, UIElement когда он готовится к просмотру в пользовательском интерфейсе. Это свойство зависимостей.
Возвращает или задает маску непрозрачности в виде реализации элемента Brush, которая применяется при маскировании отображаемого содержимого элемента с помощью любого альфа-канала. Это свойство зависимостей.
Возвращает или задает значение, указывающее, горизонтально или вертикально ориентирован элемент управления ScrollBar.
Получение или установка значения, определяющего использование в элементе свойств стиля, заданных в стилях темы.
Получение или установка отбивки внутри элемента управления.
Получает логический родительский элемент этого элемента.
Возвращает значение, уникальным образом идентифицирующее данный элемент.
Возвращает (или задает) окончательный размер отрисовки этого элемента.
Получает или задает информацию о преобразовании, которая влияет на позицию отрисовки данного элемента. Это свойство зависимостей.
Получает или задает центральную точку любого возможного преобразования при прорисовке, объявленного RenderTransform относительно границ элемента. Это свойство зависимостей.
Получает или задает локально определенный словарь ресурсов.
Получает или задает значение Value, добавляемое к значению свойства Value элемента управления RangeBase или вычитаемое из этого значения.
Получает или задает значение, определяющее, должны ли использоваться параметры пикселей для определенного устройства при отрисовке. Это свойство зависимостей.
Получает или задает стиль, который должен использоваться этим элементом при его отрисовке.
Возвращает коллекцию всех подключаемых (настраиваемых) объектов пера, связанных с данным элементом.
Возвращает или задает значение, определяющее порядок, в котором элементы получают фокус, когда пользователь переходит между элементами управления с помощью клавиши ТАВ.
Получение или установка произвольного значения объекта, которое может использоваться для хранения особых сведений об этом элементе.
Получает или задает шаблон элемента управления.
Получает ссылку на родительский объект шаблона данного элемента. Это свойство не актуально, если элемент не был создан с помощью шаблона.
Возвращает или задает объект подсказки, отображаемый для этого элемента в пользовательском интерфейсе.
Получает все сенсорные устройства, переданные в данный элемент.
Получает все сенсорные устройства, переданные в этот элемент или какой-либо из его дочерних элементов в визуальном дереве.
Получает все сенсорные устройства, находящиеся над данным элементом.
Получает все сенсорные устройства, находящиеся над этим элементом или каким-либо из его дочерних элементов в визуальном дереве.
Возвращает или задает Track для элемента управления ScrollBar.
Получает коллекцию триггеров, установленных непосредственно в этом элементе или в его дочерних элементах.
Возвращает или задает уникальный идентификатор (в целях локализации) для этого элемента. Это свойство зависимостей.
Получает или задает значение, указывающее, должно ли применяться округление макета для размера и позиции данного элемента во время структурирования.
Возвращает или задает текущую величину элемента управления диапазона.
Получает или задает характеристики выравнивания по вертикали, применяемые к этому элементу при его размещении в родительском элементе, например в панели или элементе управления элементами.
Возвращает или задает способ вертикального выравнивания содержимого элемента управления.
Получение или установка текущего видимого количества содержимого, допускающего прокрутку.
Возвращает или задает видимость этого элемента в пользовательском интерфейсе. Это свойство зависимостей.
Получает или задает значение BitmapEffect для объекта Visual.
Получает или задает значение BitmapEffectInput для объекта Visual.
Возвращает или задает BitmapScalingMode для объекта Visual.
Получает или задает кэшированное представление объекта Visual.
Получает количество визуальных дочерних элементов внутри этого элемента.
Получает или задает объект ClearTypeHint, который определяет способ отображения ClearType в Visual.
Возвращает или задает отсеченную область объекта Visual в виде значения Geometry.
Возвращает или задает края объекта Visual в виде значения EdgeMode.
Получает или задает эффект растрового изображения, который применяется к объекту Visual.
Возвращает или задает значение смещения визуального объекта.
Получает или задает значение прозрачности для объекта Visual.
Возвращает или задает значение Brush, которое представляет маску непрозрачности объекта Visual.
Получает для визуального объекта родительский объект визуального дерева.
Получает или задает обрезанную прокручиваемую область для объекта Visual.
Получает или задает TextHintingMode объекта Visual.
Получает или задает TextRenderingMode объекта Visual.
Получает или задает значение Transform для объекта Visual.
Получает или задает коллекцию направляющих по оси X (по вертикали).
Получает или задает коллекцию горизонтальных направляющих (по оси Y).
Получение или установка ширины элемента.
Методы
Добавляет обработчик перенаправленного события для указанного перенаправленного события, помещая этот обработчик в коллекцию обработчиков текущего элемента.
Добавляет указанный объект в логическое дерево данного элемента.
Добавляет обработчики в указанный EventRoute для настоящего коллекции обработчиков событий UIElement.
Определяет связь «родитель-потомок» между двумя визуальными объектами.
Применяет анимацию к указанному свойству зависимостей в этом элементе. Все существующие анимации останавливаются и заменяются новой анимацией.
Применяет анимацию к заданному свойству зависимостей этого элемента с возможностью указать, что должно происходить, если у свойства уже имеется запущенная анимация.
При необходимости строит визуальное дерево текущего шаблона и возвращает значение, указывающее, было ли это визуальное дерево перестроено в результате этого вызова.
Размещает дочерние элементы и определяет размер для UIElement. Родительские элементы вызывают этот метод из своей реализации ArrangeCore(Rect) (или эквивалента уровня инфраструктуры WPF) для формирования рекурсивного обновления макета. Этот метод образует второй проход обновления макета.
Реализует метод ArrangeCore(Rect) (определенный как виртуальный в классе UIElement) и запечатывает реализацию.
Вызывается для упорядочения и задания размера содержимого объекта Control.
Запускает анимацию для указанного свойства данного элемента, имеющего анимацию.
Запускает указанную анимацию для указанного анимированного свойства зависимостей этого элемента, с возможностью указания действий, которые следует предпринять при уже существующей анимации для данного свойства.
Запускает процесс инициализации данного элемента.
Начинает последовательность действий, содержащихся в предоставленной раскадровке.
Начинает последовательность действий, содержащихся в предоставленной раскадровке, с параметрами, указывающими на реакцию в случае уже анимированного свойства.
Начинает последовательность действий, содержащихся в предоставленной раскадровке, с указанным состоянием элемента управления анимацией после ее запуска.
Пытается отобразить данный элемент вместе с содержащимися в нем прокручиваемыми областями.
Пытается отобразить указанный размер области данного элемента вместе с содержащимися в нем прокручиваемыми областями.
Пытается принудительно захватить мышь данным элементом.
Пытается принудительно захватить перо данным элементом.
Предпринимает попытку принудительного получения операции сенсорного ввода данным элементом.
Определяет, имеет ли вызывающий поток доступ к этому DispatcherObject.
Очищает локальное значение свойства. Очищаемое свойство задается идентификатором DependencyProperty.
Очищает локальное значение доступного только для чтения свойства. Очищаемое свойство задается ключом DependencyPropertyKey.
Приводит значение указанного свойства зависимостей. Это осуществляется путем вызова какой-либо функции CoerceValueCallback, указанной в метаданных свойства зависимостей, которое существует в вызывающем объекте DependencyObject.
Указывает на завершение процесса инициализации элемента.
Определяет, является ли указанный DependencyObject эквивалентом текущего DependencyObject.
Возвращает общего предка двух визуальных объектов.
Находит элемент по указанному имени идентификатора.
Осуществляет поиск ресурса с указанным ключом и вызывает исключение, если запрошенный ресурс не найден.
Попытка задать фокус для данного элемента.
Возвращает значение базового свойства для указанного свойства данного элемента без учета возможного анимированного значения из запущенной или остановленной анимации.
Возвращает BindingExpression, представляющий привязку к заданному свойству.
Возвращает хэш-код для данного объекта DependencyObject.
Возвращает геометрию маски отсечения. Маска применяется при попытке системы структуры скомпоновать элемент, размер которого превышает доступное экранное пространство.
Создает специализированный перечислитель для определения свойств зависимостей, которые локально установили значения для данного DependencyObject.
Возвращает именованный элемент в визуальном дереве объекта ControlTemplate, для которого создан экземпляр.
Возвращает объект Type для текущего экземпляра.
Возвращает альтернативный логический родительский объект для этого элемента при отсутствии визуального родительского объекта.
Возвращает текущее действующее значение свойства зависимостей в этом экземпляре DependencyObject.
Переопределяет GetVisualChild(Int32) и возвращает дочерний элемент по указанному индексу из коллекции дочерних элементов.
Реализует метод HitTestCore(GeometryHitTestParameters) для обеспечения поведения проверки нажатия для базового элемента (возвращая GeometryHitTestResult).
Реализует метод HitTestCore(PointHitTestParameters) для обеспечения поведения проверки нажатия для базового элемента (возвращая HitTestResult).
Возвращает элемент ввода, расположенный внутри текущего элемента по указанным координатам относительно начала координат текущего элемента.
Делает недействительным состояние компоновки (структуру) элемента. После того как структура элемента станет недействительной, она будет обновлена, что произойдет асинхронно, если только не будет сделано принудительно с помощью метода UpdateLayout().
Делает недействительным состояние измерения (структуру) элемента.
Повторно вычисляет действующее значение для указанного свойства зависимостей.
Делает недействительной отрисовку элемента и принудительно вызывает новый полный этап разметки. OnRender(DrawingContext) вызывается после завершения цикла разметки.
Определяет, является ли визуальный объект предком потомка визуального объекта.
Определяет, является ли визуальный объект потомком для предка визуального объекта.
Обновляет DesiredSize элемента UIElement. Родительские элементы вызывают этот метод из своей собственной реализации MeasureCore(Size) для формирования рекурсивного обновление макета. Вызов этого метода составляет первый проход (проход «Мера») обновления макета.
Реализует базовое поведение системы макета на этапе измерения для FrameworkElement.
Вызывается для повторного измерения элемента управления.
Создает неполную копию текущего объекта Object.
Перемещает клавиатурный фокус от данного элемента на другой элемент в указанном направлении обхода.
Предоставляет обработку класса при вызове клавиши доступа, имеющей значение для данного элемента.
Создает визуальное дерево для ScrollBar.
Поддерживает поведение структуры при изменении размеров дочернего элемента.
Предоставляет обработку класса для события ContextMenuClosing, генерируемого, когда закрывается ContextMenu элемента управления ScrollBar.
Предоставляет обработку класса для события ContextMenuOpening, генерируемого, когда открывается ContextMenu элемента управления ScrollBar.
Создает AutomationPeer для этого элемента управления ScrollBar.
Вызывается, когда изменяется параметр «точек на дюйм», по которому определяется разрешение представления.
Вызывается, когда необработанное вложенное событие DragEnter встречает на своем маршруте элемент, производный от этого класса. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Вызывается, когда необработанное вложенное событие DragLeave встречает на своем маршруте элемент, производный от этого класса. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Вызывается, когда необработанное вложенное событие DragOver встречает на своем маршруте элемент, производный от этого класса. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Вызывается, когда необработанное вложенное событие DragEnter встречает на своем маршруте элемент, производный от этого класса. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Вызывается, когда необработанное вложенное событие GiveFeedback встречает на своем маршруте элемент, производный от этого класса. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Вызывается, когда необработанное событие GotFocus достигает этого элемента на своем пути.
Вызывается, когда необработанное вложенное событие GotKeyboardFocus встречает на своем маршруте элемент, производный от этого класса. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Вызывается, когда необработанное вложенное событие GotMouseCapture встречает на своем маршруте элемент, производный от этого класса. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Вызывается, когда необработанное вложенное событие GotStylusCapture встречает на своем маршруте элемент, производный от этого класса. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Предоставляет обработку класса для перенаправленного события GotTouchCapture, которое происходит при захвате сенсорного ввода данным элементом.
Вызывается, когда необработанное событие IsKeyboardFocusedChanged возникает для этого элемента. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Вызывается непосредственно перед вызовом события IsKeyboardFocusWithinChanged данным элементом. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Вызывается, когда необработанное событие IsMouseCapturedChanged возникает для этого элемента. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Вызывается, когда необработанное событие IsMouseCaptureWithinChanged возникает для этого элемента. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Вызывается, когда необработанное событие IsMouseDirectlyOverChanged возникает для этого элемента. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Вызывается, когда необработанное событие IsStylusCapturedChanged возникает для этого элемента. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Вызывается, когда необработанное событие IsStylusCaptureWithinChanged возникает для этого элемента. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Вызывается, когда необработанное событие IsStylusDirectlyOverChanged возникает для этого элемента. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Вызывается, когда необработанное вложенное событие KeyDown встречает на своем маршруте элемент, производный от этого класса. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Вызывается, когда необработанное вложенное событие KeyUp встречает на своем маршруте элемент, производный от этого класса. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Вызывает перенаправленное событие LostFocus с помощью предоставленных данных о событии.
Вызывается, когда необработанное вложенное событие LostKeyboardFocus встречает на своем маршруте элемент, производный от этого класса. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Вызывается, когда необработанное вложенное событие LostMouseCapture встречает на своем маршруте элемент, производный от этого класса. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Вызывается, когда необработанное вложенное событие LostStylusCapture встречает на своем маршруте элемент, производный от этого класса. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Предоставляет обработку класса для перенаправленного события LostTouchCapture, которое происходит при потере захвата сенсорного ввода данным элементом.
Вызывается, когда происходит событие ManipulationBoundaryFeedback.
Вызывается, когда происходит событие ManipulationCompleted.
Вызывается, когда происходит событие ManipulationDelta.
Вызывается, когда происходит событие ManipulationInertiaStarting.
Вызывается, когда происходит событие ManipulationStarted.
Обеспечивает обработку класса для перенаправленного события ManipulationStarting, происходящего при первоначальном создании процессора манипулирования.
Вызывается при изменении свойства Maximum.
Вызывается при изменении свойства Minimum.
Вызывает перенаправленное событие MouseDoubleClick.
Вызывается, когда необработанное вложенное событие MouseDown встречает на своем маршруте элемент, производный от этого класса. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Вызывается, когда необработанное присоединенное событие MouseEnter возникает для этого элемента. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Вызывается, когда необработанное присоединенное событие MouseLeave возникает для этого элемента. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Вызывается, когда необработанное перенаправленное событие MouseLeftButtonDown возникает для этого элемента. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Вызывается, когда необработанное перенаправленное событие MouseLeftButtonUp встречает на своем маршруте элемент, производный от этого класса. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Вызывается, когда необработанное вложенное событие MouseMove встречает на своем маршруте элемент, производный от этого класса. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Вызывается, когда необработанное перенаправленное событие MouseRightButtonDown встречает на своем маршруте элемент, производный от этого класса. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Вызывается, когда необработанное перенаправленное событие MouseRightButtonUp встречает на своем маршруте элемент, производный от этого класса. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Вызывается, когда необработанное перенаправленное событие MouseUp встречает на своем маршруте элемент, производный от этого класса. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Вызывается, когда необработанное вложенное событие MouseWheel встречает на своем маршруте элемент, производный от этого класса. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Вызывается, когда необработанное вложенное событие PreviewDragEnter встречает на своем маршруте элемент, производный от этого класса. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Вызывается, когда необработанное вложенное событие PreviewDragLeave встречает на своем маршруте элемент, производный от этого класса. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Вызывается, когда необработанное вложенное событие PreviewDragOver встречает на своем маршруте элемент, производный от этого класса. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Вызывается, когда необработанное вложенное событие PreviewDrop встречает на своем маршруте элемент, производный от этого класса. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Вызывается, когда необработанное вложенное событие PreviewGiveFeedback встречает на своем маршруте элемент, производный от этого класса. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Вызывается, когда необработанное вложенное событие PreviewGotKeyboardFocus встречает на своем маршруте элемент, производный от этого класса. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Вызывается, когда необработанное вложенное событие PreviewKeyDown встречает на своем маршруте элемент, производный от этого класса. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Вызывается, когда необработанное вложенное событие PreviewKeyUp встречает на своем маршруте элемент, производный от этого класса. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Вызывается, когда необработанное вложенное событие PreviewKeyDown встречает на своем маршруте элемент, производный от этого класса. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Вызывает перенаправленное событие PreviewMouseDoubleClick.
Вызывается, когда необработанное присоединенное перенаправленное событие PreviewMouseDown встречает на своем маршруте элемент, производный от этого класса. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Обеспечивает обработку класса для события PreviewMouseLeftButtonDown.
Вызывается, когда необработанное перенаправленное событие PreviewMouseLeftButtonUp встречает на своем маршруте элемент, производный от этого класса. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Вызывается, когда необработанное вложенное событие PreviewMouseMove встречает на своем маршруте элемент, производный от этого класса. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Вызывается, когда необработанное перенаправленное событие PreviewMouseRightButtonDown встречает на своем маршруте элемент, производный от этого класса. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Обеспечивает обработку класса для события PreviewMouseRightButtonUp.
Вызывается, когда необработанное вложенное событие PreviewMouseUp встречает на своем маршруте элемент, производный от этого класса. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Вызывается, когда необработанное вложенное событие PreviewMouseWheel встречает на своем маршруте элемент, производный от этого класса. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Вызывается, когда необработанное вложенное событие PreviewQueryContinueDrag встречает на своем маршруте элемент, производный от этого класса. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Вызывается, когда необработанное вложенное событие PreviewStylusButtonDown встречает на своем маршруте элемент, производный от этого класса. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Вызывается, когда необработанное вложенное событие PreviewStylusButtonUp встречает на своем маршруте элемент, производный от этого класса. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Вызывается, когда необработанное вложенное событие PreviewStylusDown встречает на своем маршруте элемент, производный от этого класса. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Вызывается, когда необработанное вложенное событие PreviewStylusInAirMove встречает на своем маршруте элемент, производный от этого класса. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Вызывается, когда необработанное вложенное событие PreviewStylusInRange встречает на своем маршруте элемент, производный от этого класса. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Вызывается, когда необработанное вложенное событие PreviewStylusMove встречает на своем маршруте элемент, производный от этого класса. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Вызывается, когда необработанное вложенное событие PreviewStylusOutOfRange встречает на своем маршруте элемент, производный от этого класса. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Вызывается, когда необработанное вложенное событие PreviewStylusSystemGesture встречает на своем маршруте элемент, производный от этого класса. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Вызывается, когда необработанное вложенное событие PreviewStylusUp встречает на своем маршруте элемент, производный от этого класса. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Вызывается, когда необработанное вложенное событие PreviewTextInput встречает на своем маршруте элемент, производный от этого класса. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Предоставляет обработку класса для перенаправленного события PreviewTouchDown, которое происходит при сенсорном нажатии данного элемента.
Предоставляет обработку класса для маршрутизируемого события PreviewTouchMove, которое происходит при перемещении касания внутри этого элемента.
Предоставляет обработку класса для перенаправленного события PreviewTouchUp, которое происходит при прекращении сенсорного нажатия внутри элемента.
Вызывается каждый раз, когда обновляется действительное значение любого свойства зависимостей для данного FrameworkElement. Конкретное измененное свойство зависимостей сообщается в параметре аргументов. Переопределяет OnPropertyChanged(DependencyPropertyChangedEventArgs).
Вызывается, когда необработанное вложенное событие QueryContinueDrag встречает на своем маршруте элемент, производный от этого класса. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Вызывается, когда необработанное вложенное событие QueryCursor встречает на своем маршруте элемент, производный от этого класса. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
При переопределении в производном классе участвует в операциях отрисовки, направляемых системой макета. Инструкции отрисовки для данного элемента не используются непосредственно при вызове данного метода, а вместо этого сохраняются для последующего асинхронного использования при структурировании и рисовании.
Вызывает событие SizeChanged, используя заданную информацию как часть итоговых данных события.
Вызывается при изменении текущего стиля данного элемента, что ведет к недействительности структуры.
Вызывается, когда необработанное вложенное событие StylusButtonDown встречает на своем маршруте элемент, производный от этого класса. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Вызывается, когда необработанное вложенное событие StylusButtonUp встречает на своем маршруте элемент, производный от этого класса. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Вызывается, когда необработанное вложенное событие StylusDown встречает на своем маршруте элемент, производный от этого класса. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Вызывается, когда необработанное вложенное событие StylusEnter вызывается этим элементом. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Вызывается, когда необработанное вложенное событие StylusInAirMove встречает на своем маршруте элемент, производный от этого класса. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Вызывается, когда необработанное вложенное событие StylusInRange встречает на своем маршруте элемент, производный от этого класса. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Вызывается, когда необработанное вложенное событие StylusLeave вызывается этим элементом. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Вызывается, когда необработанное вложенное событие StylusMove встречает на своем маршруте элемент, производный от этого класса. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Вызывается, когда необработанное вложенное событие StylusOutOfRange встречает на своем маршруте элемент, производный от этого класса. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Вызывается, когда необработанное вложенное событие StylusSystemGesture встречает на своем маршруте элемент, производный от этого класса. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Вызывается, когда необработанное вложенное событие StylusUp встречает на своем маршруте элемент, производный от этого класса. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Вызывается при изменении шаблона элемента управления.
Вызывается, когда необработанное вложенное событие TextInput встречает на своем маршруте элемент, производный от этого класса. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Вызывается, когда необработанное перенаправленное событие ToolTipClosing достигает этого класса на своем пути. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Вызывается, когда перенаправленное событие ToolTipOpening достигает этого класса на своем пути. Реализуйте этот метод, чтобы добавить для класса обработчик данного события.
Предоставляет обработку класса для перенаправленного события TouchDown, которое происходит при сенсорном нажатии внутри данного элемента.
Предоставляет обработку класса для перенаправленного события TouchEnter, которое происходит при сенсорном перемещении внутрь данного элемента.
Предоставляет обработку класса для перенаправленного события TouchLeave, которое происходит при сенсорном перемещении из данного элемента UIElement за его пределы.
Предоставляет обработку класса для маршрутизируемого события TouchMove, которое происходит при перемещении касания внутри этого элемента.
Предоставляет обработку класса для перенаправленного события TouchUp, которое происходит при прекращении сенсорного нажатия внутри элемента.
Вызывает перенаправленное событие ValueChanged.
Вызывается при изменении коллекции VisualCollection визуального объекта.
Вызывается при изменении родителя данного элемента в визуальном дереве. Переопределяет OnVisualParentChanged(DependencyObject).
Поддерживает реализации инкрементного макета в специализированных подклассах FrameworkElement. МетодParentLayoutInvalidated(UIElement) вызывается, когда дочерний элемент делает недействительным свойство, помеченное в метаданных как влияющее на проходы измерения или компоновки родительского элемента во время структурирования.
Преобразовывает объект Point в экранных координатах в объект Point, представляющий текущую систему координат Visual.
Преобразовывает объект Point, представляющий текущую систему координат объекта Visual, в объект Point в экранных координатах.
Определяет следующий элемент, который получит фокус, относительно данного элемента для указанного направления движения фокуса, но реально фокус не перемещает.
Инициирует определенное перенаправленное событие. Инициируемое событие RoutedEvent указывается в предоставленном экземпляре RoutedEventArgs (как свойство RoutedEvent данных этого события).
Возвращает локальное значение свойства зависимостей, если таковое существует.
Предоставляет метод доступа, упрощающий доступ к методу регистрации NameScope.
Освобождает все полученные сенсорные устройства для данного элемента.
Освобождает мышь, если элемент произвел ее захват.
Освобождает перо, если элемент произвел его захват.
Предпринимает попытку освободить заданное сенсорное устройство из этого элемента.
Удаляет указанный обработчик маршрутизируемого события из этого элемента.
Удаляет предоставленный объект из логического дерева этого элемента. FrameworkElement обновляет затронутые указатели в логическом дереве для синхронизации с данным удалением.
Удаляет связь «родитель-потомок» между двумя визуальными объектами.
Прикрепляет привязку к данному элементу на основе предоставленной привязки объекта.
Прикрепляет привязку к данному элементу на основе указанного имени исходного свойства в виде классификационного пути к источнику данных.
Задает значение свойства зависимостей, не меняя источник значения.
Выполняет поиск ресурса по указанному имени и устанавливает ссылку на этот ресурс для указанного свойства.
Задает локальное значение свойства зависимостей, указанного идентификатором этого свойства.
Задает локальное значение свойства зависимости только для чтения, определяемое идентификатором DependencyPropertyKey свойства зависимостей.
Возвращает логическое значение, указывающее, следует ли процессам сериализации сериализировать содержимое свойства CommandBindings в экземплярах данного класса.
Возвращает логическое значение, указывающее, следует ли процессам сериализации сериализировать содержимое свойства InputBindings в экземплярах данного класса.
Возвращает значение, которое указывает, следует ли процессам сериализации выполнять сериализацию значения для предоставленного свойства зависимостей.
Возвращает логическое значение, указывающее, следует ли процессам сериализации сериализировать содержимое свойства Resources.
Возвращает логическое значение, указывающее, следует ли процессам сериализации сериализировать содержимое свойства Style.
Возвращает логическое значение, указывающее, следует ли процессам сериализации сериализировать содержимое свойства Triggers.
Представляет строковое представление объекта RangeBase.
Возвращает преобразование, которое может использоваться для преобразования координат этого объекта Visual в координаты заданного предка визуального объекта Visual.
Возвращает преобразование, которое может использоваться для преобразования координат этого объекта Visual в координаты заданного предка визуального объекта Visual3D.
Возвращает преобразование, которое может использоваться для преобразования координат этого объекта Visual в координаты заданного потомка визуального объекта.
Возвращает преобразование, которое может использоваться для преобразования координат этого объекта Visual в координаты заданного визуального объекта.
Преобразует точку относительно данного элемента в координаты относительно указанного элемента.
Ищет ресурс с указанным ключом и возвращает его, если он найден.
Упрощает доступ к методу отмены регистрации NameScope.
Повторно применяет стиль по умолчанию к текущему объекту FrameworkElement.
Обеспечивает правильное обновление всех визуальных дочерних элементов данного элемента для структуры.
Обеспечивает наличие у вызывающего потока доступ к этому DispatcherObject.
События
Происходит непосредственно перед закрытием какого-либо контекстного меню в элементе.
Происходит при открытии какого-либо контекстного меню в элементе.
Происходит при изменении контекста данных для элемента.
Возникает, когда система ввода сообщает о соответствующем событии перетаскивания, имеющем в качестве источника перетаскивания этот элемент.
Возникает, когда система ввода сообщает о соответствующем событии перетаскивания, имеющем в качестве источника перетаскивания этот элемент.
Происходит, когда подсистема ввода сообщает о соответствующем событии перетаскивания, имеющем в качестве потенциальной цели данный элемент.
Происходит, когда система ввода сообщает о базовом событии удаления с этим элементом в качестве цели удаления.
Происходит при изменении значения свойства Focusable.
Происходит, когда подсистема ввода сообщает о соответствующем событии перетаскивания, в котором участвует данный элемент.
Происходит при получении данным элементом логического фокуса.
Происходит при получении данным элементом фокуса ввода с клавиатуры.
Происходит при захвате мыши данным элементом.
Происходит при захвате пера данным элементом.
Происходит при получении данным элементом операции сенсорного ввода.
Происходит при изменении значения свойства IsEnabled данного элемента.
Происходит при изменении значения свойства зависимостей IsHitTestVisible данного элемента.
Происходит при изменении значения свойства IsKeyboardFocused данного элемента.
Происходит при изменении значения свойства IsKeyboardFocusWithin данного элемента.
Происходит при изменении значения свойства IsMouseCaptured данного элемента.
Происходит при изменении значения поля IsMouseCaptureWithinProperty данного элемента.
Происходит при изменении значения свойства IsMouseDirectlyOver данного элемента.
Происходит при изменении значения свойства IsStylusCaptured данного элемента.
Происходит при изменении значения свойства IsStylusCaptureWithin данного элемента.
Происходит при изменении значения свойства IsStylusDirectlyOver данного элемента.
Происходит при изменении значения свойства IsVisible данного элемента.
Возникает при нажатии клавиши, если фокус установлен на данном элементе.
Происходит при отпускании клавиши, если фокус находится на этом элементе.
Происходит при изменении структуры различных визуальных элементов, связанных с текущим Dispatcher.
Происходит, если элемент размещен, отрисован и готов к взаимодействию.
Происходит при потере данным элементом логического фокуса.
Происходит при потере данным элементом фокуса ввода с клавиатуры.
Происходит при потере элементом захвата мыши.
Происходит при потере элементом захвата пера.
Происходит, когда элемент теряет касание.
Происходит, когда манипуляция сталкивается с границей.
Происходит, когда манипуляция над объектом UIElement и инерция завершены.
Происходит, когда устройство ввода меняет положение в процессе манипуляции.
Происходит, когда устройство ввода теряет контакт с объектом UIElement в процессе манипуляции и начинается инерция.
Происходит, когда устройство ввода начинает совершать манипуляцию над объектом UIElement.
Происходит при первоначальном создании процессора манипулирования.
Вызывается при нажатии кнопки мыши два или более раз.
Происходит при нажатии любой кнопки мыши в тот момент, когда указатель мыши находится над данным элементом.
Происходит, когда указатель мыши попадает внутрь границ данного элемента.
Происходит, когда указатель мыши покидает границы данного элемента.
Происходит при нажатии левой кнопки мыши в тот момент, когда указатель мыши находится над данным элементом.
Происходит при отпускании левой кнопки мыши в тот момент, когда указатель мыши находится над данным элементом.
Происходит при перемещении указателя мыши над данным элементом.
Происходит при нажатии правой кнопки мыши в тот момент, когда указатель мыши находится над данным элементом.
Происходит при отпускании правой кнопки мыши в тот момент, когда указатель мыши находится над данным элементом.
Происходит при отпускании любой кнопки мыши в тот момент, когда указатель мыши находится над данным элементом.
Происходит при вращении колесика мыши в тот момент, когда указатель мыши находится над данным элементом.
Возникает, когда система ввода сообщает о соответствующем событии перетаскивания, имеющем в качестве источника перетаскивания этот элемент.
Возникает, когда система ввода сообщает о соответствующем событии перетаскивания, имеющем в качестве источника перетаскивания этот элемент.
Происходит, когда подсистема ввода сообщает о соответствующем событии перетаскивания, имеющем в качестве потенциальной цели данный элемент.
Происходит, когда система ввода сообщает о базовом событии удаления с этим элементом в качестве цели удаления.
Происходит при начале операции перетаскивания.
Происходит при получении данным элементом фокуса ввода с клавиатуры.
Возникает при нажатии клавиши, если фокус установлен на данном элементе.
Происходит при отпускании клавиши, если фокус находится на этом элементе.
Происходит при потере данным элементом фокуса ввода с клавиатуры.
Происходит при нажатии кнопки мыши два или более раза.
Происходит при нажатии любой кнопки мыши в тот момент, когда указатель мыши находится над данным элементом.
Происходит при нажатии левой кнопки мыши в тот момент, когда указатель мыши находится над данным элементом.
Происходит при отпускании левой кнопки мыши в тот момент, когда указатель мыши находится над данным элементом.
Происходит при перемещении указателя мыши, когда он находится над данным элементом.
Происходит при нажатии правой кнопки мыши в тот момент, когда указатель мыши находится над данным элементом.
Происходит при отпускании правой кнопки мыши в тот момент, когда указатель мыши находится над данным элементом.
Происходит при отпускании любой кнопки мыши в тот момент, когда указатель мыши находится над данным элементом.
Происходит при вращении колесика мыши в тот момент, когда указатель мыши находится над данным элементом.
Происходит, когда состояние клавиши или кнопки мыши изменяется в ходе операции перетаскивания.
Происходит при нажатии кнопки пера в тот момент, когда указатель находится над данным элементом.
Происходит при отпускании кнопки пера в тот момент, когда указатель находится над данным элементом.
Происходит при касании дигитайзера пером в тот момент, когда оно находится над данным элементом.
Происходит при движении пера над элементом без касания дигитайзера.
Происходит при нахождении пера над данным элементом достаточно близко для того, чтобы перо было обнаружено дигитайзером.
Происходит при перемещении пера над элементом. Для вызова этого события перемещаемое перо должно быть обнаружено дигитайзером; в противном случае вызывается PreviewStylusInAirMove.
Происходит, когда перо находится слишком далеко от дигитайзера, чтобы быть обнаруженным.
Происходит при использовании пользователем одного из жестов пером.
Происходит, когда пользователь отрывает перо от поверхности дигитайзера в тот момент, когда оно находится над этим элементом.
Происходит при получении этим элементом текста аппаратно-независимым способом.
Происходит при касании пальцем экрана, когда палец находится над данным элементом.
Возникает при перемещении пальца по экрану при условии, если палец находится над данным элементом.
Возникает, когда палец отрывается от экрана при условии, что палец находится над этим элементом.
Происходит, когда состояние клавиши или кнопки мыши изменяется в ходе операции перетаскивания.
Происходит при запросе отображения курсора. Это событие возникает для элемента каждый раз, когда указатель мыши перемещается в новое положение, что может послужить причиной изменения его внешнего вида.
Происходит при вызове метода BringIntoView(Rect) в данном элементе.
Генерируется один или более раз во время прокрутки содержимого в ScrollBar, когда пользователь перемещает Thumb мышью.
Происходит при изменении значения любого из свойств ActualHeight или ActualWidth данного элемента.
Происходит при изменении исходного значения любого существующего свойства, привязанного к данному элементу.
Происходит при нажатии кнопки пера в тот момент, когда указатель находится над данным элементом.
Происходит при отпускании кнопки пера в тот момент, когда указатель находится над данным элементом.
Происходит при касании дигитайзера пером в тот момент, когда оно находится над данным элементом.
Происходит, когда перо попадает внутрь границ данного элемента.
Происходит при движении пера над элементом без касания дигитайзера.
Происходит при нахождении пера над данным элементом достаточно близко для того, чтобы перо было обнаружено дигитайзером.
Происходит, когда перо покидает границы элемента.
Происходит при движении пера над данным элементом. Для вызова этого события перо должно перемещаться по дигитайзеру. В противном случае вызывается событие StylusInAirMove.
Возникает, когда расстояние между пером и дигитайзером слишком велико для обнаружения пера при условии, что перо находится над этим элементом.
Происходит при использовании пользователем одного из жестов пером.
Происходит, когда пользователь отрывает перо от поверхности дигитайзера в тот момент, когда оно находится над этим элементом.
Происходит при изменении целевого значения для любого свойства, привязанного к этому элементу.
Происходит при получении этим элементом текста аппаратно-независимым способом.
Происходит непосредственно перед закрытием какой-либо подсказки в элементе.
Происходит при открытии любой всплывающей подсказки к элементу.
Происходит при касании пальцем экрана, когда палец находится над данным элементом.
Происходит при перемещении касания внутрь данного элемента.
Происходит при перемещении касания за границы элемента.
Возникает при перемещении пальца по экрану при условии, если палец находится над данным элементом.
Возникает, когда палец отрывается от экрана при условии, что палец находится над этим элементом.
Происходит при удалении элемента из дерева с загруженными элементами.
Происходит при изменении значения диапазона.
Явные реализации интерфейса
Описание этого элемента содержится в методе IsAmbientPropertyAvailable(String).