Определения отображаемого элемента в ScrollViewer C# (wpf или sl или sl for wp7)

программирование C# .net WPF silverlight

Добрый день. Как определить какой в данный момент элемент виден в ScrollViewer на экране.
В ScrollViewer добавлена стекпанел с кучей кнопок, мне нужно запустить анимацию для тех кнопок, которые видны на экране, а точнее в ScrollViewer. Все кнопки которые не отображаются на экране трограть не надо. Как мне это можно реализовать.
Помогите или дайте ссылку на нужный материал.
Ответы:
Я искренне не уверен насчёт быстроты этой фигни, но вычисляя TransformToVisual от кнопок к скроллвьюверу ты можешь потом вызвать трансформ от пустого поинта (левый верхний угол кнопки) и просечь, что видно. Из оптимизаций - ремежер скроллвьювера или его контентпрезентера, или изменение оффсета скроллвьювера. А вообще если будет тормозить то можешь попробовать написать кастомный скроллвьювер... фактически, скроллбар + панель. при изменении оффсета ты просто делаешь реарренж айтемов и радуешься :) Тебе не надо будет делать транслейтту, т.к. на арренже ты сам можешь сечь, какие айтемы видны и вешать на них аттачед значение, скажем, которое будет говорить тебе о состоянии этого счастья.


12 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.