Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 9074889
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 16, 20262026-06-16T18:44:14+00:00 2026-06-16T18:44:14+00:00

Specifically, I have a custom user control that receives manipulation events to scroll a

  • 0

Specifically, I have a custom user control that receives manipulation events to scroll a custom DirectX control. This control, and others like it, are items in a GridView. I want the GridView to be able to scroll horizontally through the default TranslateRailsX manipulation, while the controls should be able to receive TranslateRailsY manipulation events.

In my experiments so far, by setting the controls’ manipulation mode to System, I can get the GridView scroll to work, but the controls will not receive any manipulation events. By setting the controls’ manipulation mode to All, or TranslateY, or TranslateRailsY, I can get my custom control to receive the manipulation events, but the GridView touch scroll will not work.

How can I allow BOTH of these manipulations?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-16T18:44:15+00:00Added an answer on June 16, 2026 at 6:44 pm

    It can’t be done with 8.0 (for 8.1 scroll to EDIT). You would need to implement your own ScrollViewer to use in the GridView template or put a layer on top of the GridView and relay all input calls as I suggested before. Actually, perhaps implementing your own version of ScrollViewer wouldn’t be that hard (a Canvas control with one child that calls Canvas.SetLeft on its child item on manipulation events).

    One new idea I have that might work for you is to put another ScrollViewer in front of your DirectX control and use its ViewChanged events as you would use the manipulation events – check this:

    XAML

    <Page
        x:Class="App84.MainPage"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:local="using:App84"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        mc:Ignorable="d">
        <Grid
            Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
            <GridView>
                <Grid
                    Width="300"
                    Height="300">
                    <Rectangle
                        x:Name="DirectXControlPlaceholder"
                        Width="300"
                        Height="300"
                        Fill="Yellow" />
                    <ScrollViewer
                        x:Name="ManipulationCaptureScrollViewer"
                        Style="{StaticResource VerticalScrollViewerStyle}"
                        VerticalScrollBarVisibility="Hidden"
                        ViewChanged="ScrollViewer_OnViewChanged">
                        <Rectangle
                            Width="200"
                            Height="10000"
                            Fill="Transparent"/>
                    </ScrollViewer>
                    <TextBlock
                        x:Name="OffsetTextBlock"
                        Foreground="Black"
                        FontSize="24"
                        VerticalAlignment="Center"
                        HorizontalAlignment="Center"
                        />
                </Grid>
                <Rectangle
                    Width="300"
                    Height="300"
                    Fill="GreenYellow" />
                <Rectangle
                    Width="300"
                    Height="300"
                    Fill="LimeGreen" />
                <Rectangle
                    Width="300"
                    Height="300"
                    Fill="Red" />
                <Rectangle
                    Width="300"
                    Height="300"
                    Fill="OrangeRed" />
                <Rectangle
                    Width="300"
                    Height="300"
                    Fill="DarkOrange" />
                <Rectangle
                    Width="300"
                    Height="300"
                    Fill="Orange" />
            </GridView>
        </Grid>
    </Page>
    

    Code behind

    using Windows.UI.Xaml.Controls;
    
    namespace App84
    {
        public sealed partial class MainPage : Page
        {
            public MainPage()
            {
                this.InitializeComponent();
            }
    
            private void ScrollViewer_OnViewChanged(object sender, ScrollViewerViewChangedEventArgs e)
            {
                OffsetTextBlock.Text =
                    ManipulationCaptureScrollViewer.VerticalOffset.ToString();
            }
        }
    }
    

    EDIT*

    Also with Windows 8.1 you get ManipulationModes.System which combined with other modes (scale and rotate are not supported though) should allow you to handle manipulations inside of a ScrollViewer. Then you can call CancelDirectManipulations() on the manipulated element once you want its parent ScrollViewers to stop processing manipulations for pan&zoom.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have a segfault coming from OpenSSL (specifically SSL_read ) that I'd like to
I have seen there is no question that specifically reply to this combination of
If I have a custom Secure Token Service that specifically lists out allowed audiences
I am working on a CMS that involves custom user pages. I have a
I am creating a user control that I would like to be able to
I have a custom list in SharePoint (specifically, MOSS 2007.) One field is a
Or at least the part of it, that makes sense. More specifically I have
Are there any compression algorithms -- lossy or lossless -- that have been specifically
They're both resizable arrays, and std::basic_string doesn't have any specifically character-related functions like upper().
I have read that GLSL (specifically v1.0.17: my application is running under WebGL) compilers

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.