0

我有一個適用於Windows 10 Mobile的Windows 10 UWP應用程序,但同時我也正在使用Microsoft Surface和我的鼠標進行測試。我根本無法讓操作來檢測觸摸事件。基本上,我想處理一個框架內的滑動(問題不是框架,也嘗試了一個矩形作爲測試,也沒有工作)。當我運行應用程序並嘗試用手指滑動或使用我的鼠標時,我無法獲取後面代碼中的任何事件。嘗試過多種設備以及多種方法。大多數情況下,我遵循我在SO和MSDN上閱讀的所有內容,這使得它更令人沮喪。我在這裏想念什麼?爲什麼手勢/操作不起作用Windows 10 UWP

這是頁面的XAML。在這個例子中,我明確地在XAML中設置了事件處理程序。不過,我也嘗試在代碼背後爲控件創建它。既沒有工作。

  <!--<Rectangle Name="TouchArea" Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="4" ManipulationMode="All"/>--> 
    <Frame Name="MainPageFrame" Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="4" ManipulationMode="All" ManipulationStarted="MainPageFrame_OnManipulationStarted"> 

    </Frame> 

然後在代碼

private void MainPageFrame_OnManipulationStarted(object sender, ManipulationStartedRoutedEventArgs e) 
    { 

    } 

也嘗試過這樣的:

public MainPage() 
    { 
     this.InitializeComponent(); 
     MainPageFrame.ManipulationInertiaStarting += MainPageFrame_ManipulationInertiaStarting; 
    } 

    private void MainPageFrame_ManipulationInertiaStarting(object sender, ManipulationInertiaStartingRoutedEventArgs e) 
    { 
     if (e.Cumulative.Translation.X >= 300) 
     { 
      //Swipe Right 
      e.Handled = true; 
     } 
     if (e.Cumulative.Translation.X <= 300) 
     { 
      //Swipe Left 
      e.Handled = true; 
     } 
    } 

最終所有我試圖做的是檢測時的框架內,用戶刷卡,帶慣性權或離開,所以我可以改變Frame.Navigate。這將與Pivot的工作方式類似,但我無法使用Pivot,因此我正在嘗試執行此操作。

謝謝!

回答

1

嘗試設置Background="Transparent"作爲您的框架或您正在跟蹤操縱的其他元素。當沒有設置背景時,操作事件可能沒有正確註冊。

+0

哇!這是問題。這次真是萬分感謝。同時,我想知道爲什麼會是這樣。似乎很傻,你必須設置觸摸事件的背景進行註冊。 2.爲什麼Microsoft沒有在任何MSDN文檔中記錄這一點。再次感謝! –

+0

我同意,缺乏這方面的信息令人費解。很高興幫助。 –