2013-09-29 3 views
2

У меня есть страница XAML, и я хочу знать, есть ли элемент для пользователя на экране или нет.Как увидеть, отображается ли элемент на экране?

<StackPanel> 
    <TextBlock Text="Can you see me?"/> 
</StackPanel> 

здесь я хочу, если это StackPanel или TextBlock видно, я изменить его цвет. Является ли это возможным?

(Это телефон приложение Windows)

+0

Hi @makc. Я не имею в виду 'Visible' или' Collapsed' .. подумайте о длинной странице, элемент может быть внизу страницы и не видим пользователю, поэтому, если он прокрутит, он сможет его увидеть. – user2799350

ответ

0

Вы можете получить координаты StackPanel относительно корня макета. Если это за пределами экрана, то он не отображается:

stackPanel.TransformToVisual(layoutRoot).Transform(new Point()) 

Примечание это не будет работать для управления в виртуализованных ItemsControl с.

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