2012-05-14 2 views

ответ

2

Вам нужно будет обрабатывать ScrollViewer.ViewChanged на ScrollViewer используется для прокрутки вашего GridView и обновления позиционирования изображения в фоновом режиме. Вы можете получить ScrollViewer используя VisualTreeHelperExtensions метод расширения WinRT XAML Toolkit «s - по существу

ScrollViewer myScrollViewer = myScrollViewermyGridView.GetFirstDescendantOfType<ScrollViewer>(); 
myScrollViewer.ViewChanged += UpdateBackgroundImagePosition; 
+0

Спасибо за ответ. Фактически, я могу перемещать элемент управления изображением с помощью TranslateTransform на основе HorizontalOffset от Scrollviewer, но изображение вырезано (конечно) при прокрутке полностью вправо. Я хотел бы повторить изображение –

+0

Да, TranslateTransform преобразует только то, что иначе отображается на экране. Вы можете разместить изображение в виде сетки и манипулировать полями вашего изображения, чтобы переместить его или использовать холст и управлять свойством Canvas.Left. –

0

1) Назовите ScrollViewer что-то вроде MyScrollviewer

2) Добавить RenderTransform к фоновому элемента пользовательского интерфейса, как это:

<your background.RenderTransform> 
    <CompositeTransform TranslateX="{Binding ElementName=MyScrollViewer, Path=HorizontalOffset, Converter={StaticResource ParallaxConverter}}" /> 
    </your background.RenderTransform> 

3) Реализовать ParallaxConveter (умножает на ± 1)

См http://w8isms.blogspot.com/2012/06/metro-parallax-background-in-xaml.html для изысканных деталей.

+0

«1) Назовите свой ScrollViewer чем-то вроде MyScrollviewer« Существует только GridView – Guillaume

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