ваша _rubberBand должна в конечном итоге стать классом, может быть, RubberBand,
, затем выполнить _rubberBand.HandleMouseMove (...);
По сути, переместите вещи в отдельные методы, которые не связаны свашей модели представления, а затем посмотрите на перемещение этих методов в другие классы.Этот процесс заставит вас много думать о том, как вам нужно структурировать вещи.Вы обнаружите, что когда вам нужно переместить вещи в другие классы, эти классы должны взаимодействовать с вашей моделью / пользовательским интерфейсом View.Вы подумаете: «Хм, я не хочу, чтобы они прямо ссылались на мой UI / VM и т. Д.», И вы начинаете думать, ну, возможно, мне нужно придумать некоторые интерфейсы, через которые мои классы могли бы работать .....затем заставьте мой VM / UI реализовать эти интерфейсы. Например,
, вы можете найти OnMouseMove, что происходит, зависит от «контекста», а затем у вас есть контекст «RubberBandSelection» или что-то в этом роде.Затем вы придумаете общий способ иметь разные контексты.