Я пытался создать один холст с двумя слоями. Один слой прокручивается горизонтально, второй - сверху и прокручивает по вертикали. Во втором слое (том, который прокручивается вертикально) я складывал прозрачную сетку (или панель) и панель с информацией, чтобы мы могли видеть первый слой, который находится под этим, и если мы прокручиваем вверх, у нас есть информация который появляется на экране.Событие маршрута к элементу под текущим элементом
Это работает как шарм, за исключением того, что если я прокручиваю по горизонтали, первый слой (один под) не прокручивается вообще. Это не проблема, если вертикальные прокрутки не прокручиваются, если мы проведите прозрачную сетку.
Это моя XAML
<Canvas x:Name="Canvas">
<local:MyPage x:Name="PageContainer"/> <!--This one scrolls horizontally -->
<ScrollViewer
HorizontalScrollBarVisibility="Disabled"
VerticalScrollBarVisibility="Hidden"
Height="{Binding ActualHeight, ElementName=UcRoot}">
<!--This one scrolls vertically and appears on top -->
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid Height="600" Width="600" Grid.Row="0" x:Name="TransparentGrid" ></Grid>
<Grid x:Name="Information" Background="Azure" Height="1200" Width="600" Grid.Row="1">
</Grid>
</Grid>
</ScrollViewer>
</Canvas>
Я пробовал много вещей на прозрачной сетке (настройка ширины 1, удаляя его и установив информацию маржинального сетки сверху 1200, например), но сетка захватывает событие и не ретранслирует на мою страницу.
Могу ли я получить помощь?
Спасибо!
Как о наборе 'ScrollViewer Margin = "0, 0, 0, 25"'? Ваш слой прозрачный, так что это может быть ОК – Sakura
Это не работает. Информационной панели необходимо взять всю ширину моего холста, и она также должна ответить пальцем на пальце. – Daniel
Тогда вам нужно [ручка] (http://stackoverflow.com/a/12662362/1560697) событие 'ManipulationDelta' наверху слой. Если пользователь протрите влево/вправо, вы прокрутите нижний слой соответственно – Sakura