public static ListView createListView(IList sourceView, ViewBase view, int itemsApproximation, ref int itemIndex, Rect size, out BindingList <object> list) { ListView listview = new ListView(); // Setting view if (view != null) { listview.View = UIUtility.CreateDeepCopy <ViewBase>(view); listview.UpdateLayout(); } // Create Itemssource list = new BindingList <object>(); BindingListCollectionView collectionViewSource = new BindingListCollectionView(list); listview.ItemsSource = collectionViewSource; //listview.GroupStyle.Add(printableListView.PrintGroupStyle); StackPanel body = new StackPanel(); body.Children.Add(listview); // Add the estimated items to the listview int currentPosition = itemIndex; for (int i = 0; i < itemsApproximation && i + currentPosition < sourceView.Count; i++) { object item = sourceView[itemIndex]; list.Add(item); itemIndex++; } collectionViewSource.Refresh(); // Calculate the size of listview listview.Measure(new Size()); body.Arrange(new Rect()); // Recorrect the items inside listview while (listview.ActualHeight < size.Height && itemIndex < sourceView.Count) { object item = sourceView[itemIndex]; list.Add(item); itemIndex++; collectionViewSource.Refresh(); listview.Measure(new Size()); body.Arrange(size); } while (listview.ActualHeight > size.Height && itemIndex >= 0) { list.Remove(list[list.Count - 1]); itemIndex--; collectionViewSource.Refresh(); listview.Measure(new Size()); body.Arrange(size); } body.Children.Clear(); return(listview); }
public void Delete() { if (MessageBox.Show("Do you want to Delete this service?", "Confirm", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes) { _fieldedService.ServiceID = -_fieldedService.ServiceID; if (DataAccess.UpdateService(_fieldedService)) { _sortedServices.Remove(_fieldedService); _sortedServices.Refresh(); NotifyOfPropertyChange(() => CanDelete); } } }
public void Delete(bool FieldedCar_HasService) { if (MessageBox.Show("Do you want to Delete this car?", "Confirm", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes) { _fieldedCar.CarID = -_fieldedCar.CarID; try { DataAccess.UpdateCar(_fieldedCar); } catch (Exception e) { MessageBox.Show( $"Database Error: {e.Message}"); return; } if (_fieldedCar.CarID == 0) { _sortedCars.Remove(_fieldedCar); _sortedCars.Refresh(); } } }