public void DragOver(IDropInfo dropInfo) { if (dropInfo.Data is TreeViewItem) { return; } if (dropInfo.Data == dropInfo.TargetItem) { return; } var target = dropInfo.InsertIndex; switch (dropInfo.Data) { case Character character: if (!(dropInfo.TargetItem is Character)) { return; } if (!ObservableCollectionExtensions.IsSamePosition(Characters, character, target).shouldMove) { return; } break; case Scene scene: if (!(dropInfo.TargetItem is Scene s)) { return; } if (s.Tag != scene.Tag) { return; // This would just make life complicated } if (!ObservableCollectionExtensions.IsSamePosition(Scenes, scene, target).shouldMove) { return; } break; case Variable variable: if (!(dropInfo.TargetItem is Variable)) { return; } if (!ObservableCollectionExtensions.IsSamePosition(Variables, variable, target).shouldMove) { return; } break; default: return; } dropInfo.DropTargetAdorner = DropTargetAdorners.Insert; dropInfo.Effects = DragDropEffects.Move; }
public void ToBindingList_throws_when_given_null_ObservableCollection() { Assert.Equal( "source", Assert.Throws <ArgumentNullException>(() => ObservableCollectionExtensions.ToBindingList <FakeEntity>(null)).ParamName); }
public static BindingList <T> ToBindingList <T>(this IList <T> list) where T : class { return(ObservableCollectionExtensions.ToBindingList((ObservableCollection <T>)list)); }