2017-08-29 9 views
1

hamburguer menu controlを開く/閉じるためのスライドジェスチャーを実装しようとしていますが、コントロールのバージョン1.5.1でメニューを閉じるのに問題があります。バージョン1.4.1で、私はメニューをこのように閉じる:スライドのジェスチャーでハンバーガーメニューを閉じる

var paneGrid = HamburgerMenu.FindDescendantByName("PaneGrid") as Grid; 
paneGrid.ManipulationMode = ManipulationModes.TranslateX; 
paneGrid.ManipulationCompleted += OnPaneGridManipulationCompleted; 

private void OnPaneGridManipulationCompleted(object sender, ManipulationCompletedRoutedEventArgs e) { 
    if (e.Cumulative.Translation.X < -50) { 
     HamburgerMenu.IsPaneOpen = false; 
    } 
} 

をしかし、バージョン1.5.1でリストビューコントロール内のすべてのスペースを取り、任意のアイデアが...してくださいクビにしない「OnPaneGridManipulationCompleted」?

答えて

1

あなたはタッチ入力バイパスにそれをできるようにListViewのインナーScrollViewerDisabledHorizontalScrollModeVerticalScrollModeの両方を設定してみてくださいすることができます。

デフォルト値HorizontalScrollModeはすでにDisabledです。あなただけの副作用はあなたがもはや垂直ListViewをスクロールすることができないことである

if (HamburgerMenuControl.FindDescendantByName("ButtonsListView") is ListView listView) 
{ 
    ScrollViewer.SetVerticalScrollMode(listView, ScrollMode.Disabled); 
} 

以下のように手動で VerticalScrollModeを設定する必要があります。しかし、一般的には、それは(悪いデザイン)とは思わないでしょう。

また、私のthis answerに興味があります。 :)

関連する問題