Пример #1
0
 private void OnEntriesListViewSwiping(object sender, ListViewSwipeEventArgs e)
 {
     if (e.SwipedItem is Grid grid && grid.Children.Count == 2 && e.OffsetX <= 0.0d)
     {
         if (Math.Abs(e.OffsetX) >= grid.Width / 3.0d != grid.Children[0].IsEnabled)
         {
             grid.Children[0].IsEnabled = !grid.Children[0].IsEnabled;
         }
         grid.Children[1].TranslationX = e.OffsetX;
     }
 }
Пример #2
0
        private async void OnEntriesListViewSwiped(object sender, ListViewSwipeEventArgs e)
        {
            if (e.SwipedItem is Grid grid && grid.Children.Count == 2)
            {
                grid.Children[1].TranslationX = 0;

                if (e.Direction == SwipeDirection.Left && grid.Children[0].IsEnabled && grid.BindingContext is DreamLogEntryViewModel model)
                {
                    await grid.Children[1].TranslateToAbsolute(-grid.Width, 0);

                    if (this.datalayer.RemoveLogEntry(model.EntryId))
                    {
                        this.viewModel.Items.Remove(model);
                    }

                    //TODO: Timed undo action
                }
                else
                {
                    await grid.Children[1].TranslateToAbsolute(0, 0);
                }
            }
        }