public override StringOperation Clone() { //tạo mới 1 moveOperation trống var newMoveOperation = new MoveOperation() { Args = new MoveArgs() { Size = 0, Type = 0 } }; //hiện dialog để người dùng customize var screen = new MoveConfigDialog(newMoveOperation.Args); if (screen.ShowDialog() == true) { } //lấy args sau khi người dùng config, nếu size vẫn là 0 thì không return newMoveOperation //đó là trường hợp người dùng cancel var ArgsAfterConfiguration = newMoveOperation.Args as MoveArgs; if (ArgsAfterConfiguration.Size == 0) { return(null); } else { //trả về moveOperation mà người dùng đã custom return(newMoveOperation); } }
public override void Config() { var screen = new MoveConfigDialog(Args); if (screen.ShowDialog() == true) { } if (PropertyChanged != null) { PropertyChanged(this, new PropertyChangedEventArgs("Description")); } }