示例#1
0
        public CanvasViewModel()
        {
            Commands = new DynamicRelayCommandDictionary()
            {
                ParameterDicConverter = ParameterDicConverters.FromParameterDic(
                    new ParameterDic()
                {
                    { "CanvasVM", this }
                })
            };

            Commands.UnselectAll = new SimpleScriptCommand("UnselectAll",
                                                           pd =>
            {
                pd.GetValue <CanvasViewModel>("{CanvasVM}").UnselectAll();
                return(ResultCommand.NoError);
            });
            for (int i = 1; i < 20; i++)
            {
                Items.Add(new ItemViewModel("Test" + i));
            }

            Items[0].IsSelected = true;
        }
        protected override IParameterDicConverter setupParamDicConverter()
        {
            return(ParameterDicConverters.ConvertVMParameter(
                       AddVariable.FromGetter("{WindowManager}", (pms) => _evm.WindowManager),
                       AddVariable.FromGetter("{Events}", (pms) => _evm.InternalEvents),
                       AddVariable.FromGetter("{GlobalEvents}", (pms) => _evm.Events),
                       AddVariable.FromParameterPairs(
                           ParameterPair.FromVariable("{Explorer}", _evm),
                           ParameterPair.FromVariable("{DirectoryTree}", _evm.DirectoryTree),
                           ParameterPair.FromVariable("{FileList}", _evm.FileList),
                           ParameterPair.FromVariable("{Statusbar}", _evm.Statusbar)
                           )));


            //return ParameterDicConverters.ConvertVMParameter(
            //   new Tuple<string, object>("Explorer", _evm),
            //     new Tuple<string, object>("DirectoryTree", _evm.DirectoryTree),
            //     new Tuple<string, object>("FileList", _evm.FileList),
            //     new Tuple<string, object>("Statusbar", _evm.Statusbar),
            //     new Tuple<string, object>("WindowManager", _windowManager),
            //     new Tuple<string, object>("Events", _events),
            //     new Tuple<string, object>("GlobalEvents", _globalEvents)
            //    );
        }
示例#3
0
 protected override IParameterDicConverter setupParamDicConverter()
 {
     return(ParameterDicConverters.ConvertVMParameter(new Tuple <string, object>("TabbedExplorer", _tevm),
                                                      new Tuple <string, object>("Events", _events)));
 }
示例#4
0
 protected override IParameterDicConverter setupParamDicConverter()
 {
     return(ParameterDicConverters.ConvertVMParameter(new Tuple <string, object>("Sidebar", _svm)));
 }
示例#5
0
        public FileListViewModel(string label)
        {
            Items = new ObservableCollection <FileViewModel>();

            #region Initialize DynamicCommandDictionary

            Commands = new DynamicRelayCommandDictionary()
            {
                ParameterDicConverter = ParameterDicConverters.FromParameterDic(
                    new ParameterDic()
                {
                    { "FileListVM", this }
                })
            };

            Commands.UnselectAll = _unselectCommand;

            #endregion

            #region Initialize DragHelper and DropHelper

            DragHelper = new LambdaShellDragHelper <FileModel>(
                _fileModelConverter,                                                                  //Convert IDraggable (FileViewModel) to M (FileModel), ConvertBack is used.
                _dataObjectConverter,                                                                 //Convert IEnumerable<M> (IEnumerable<FileModel>) to IDataObject, Convert is used.
                () => Items.Where(fvm => fvm.IsSelected).Select(fvm => fvm.Model),
                (fmList) => DragDropEffectsEx.Link | DragDropEffectsEx.Copy | DragDropEffectsEx.Move, //QueryDrag
                (fmList, da, effect) =>                                                               //OnDragCompleted
            {
                if (effect == DragDropEffectsEx.Move)
                {
                    foreach (var f in fmList)
                    {
                        var foundItem = Items.FirstOrDefault(fvm => fvm.Model.Equals(f));
                        if (foundItem != null)
                        {
                            Items.Remove(foundItem);
                        }
                    }
                }
            });

            DropHelper = new LambdaShellDropHelper <FileModel>(
                _fileModelConverter,  //Convert IDraggable (FileViewModel) to M (FileModel), Convert is used.
                _dataObjectConverter, //Convert IEnumerable<M> (IEnumerable<FileModel>) to IDataObject, ConvertBack is used.
                (fms, eff) =>         //QueryDrop(IEnumerable<FileModel>, DragDropEffectsEx) : QueryDropEffects
            {
                IEnumerable <FileModel> itemsModel = Items.Select(fvm => fvm.Model);
                if (fms.Any(f => itemsModel.Contains(f)))
                {
                    return(QueryDropEffects.None);
                }
                return(QueryDropEffects.CreateNew(eff & (DragDropEffectsEx.Link | DragDropEffectsEx.Move), eff & DragDropEffectsEx.Move));
            },
                (fms, da, eff) => //Drop(IEnumerable<FileModel>, IDataObject, DragDropEffectsEx) : DragDropEffectsEx
            {
                foreach (var existingFvm in Items)
                {
                    existingFvm.IsSelected = false;
                }
                foreach (var fm in fms)
                {
                    Items.Add(new FileViewModel(fm));
                }
                if (eff.HasFlag(DragDropEffectsEx.Move))
                {
                    return(DragDropEffectsEx.Move);
                }
                if (eff.HasFlag(DragDropEffectsEx.Copy))
                {
                    return(DragDropEffectsEx.Copy);
                }
                return(DragDropEffectsEx.Link);
            })
            {
                DisplayName = label
            };

            #endregion
        }
 protected override IParameterDicConverter setupParamDicConverter()
 {
     return(ParameterDicConverters.ConvertVMParameter(new Tuple <string, object>("Navigation", _nvm)));
 }
示例#7
0
 protected override IParameterDicConverter setupParamDicConverter()
 {
     return(ParameterDicConverters.ConvertVMParameter(new Tuple <string, object>("Breadcrumb", _bvm)));
 }
示例#8
0
 protected override IParameterDicConverter setupParamDicConverter()
 {
     return(ParameterDicConverters.ConvertVMParameter(new Tuple <string, object>("DirectoryTree", _dlvm)));
 }
 protected override IParameterDicConverter setupParamDicConverter()
 {
     return(ParameterDicConverters.ConvertVMParameter(new Tuple <string, object>("FileList", _flvm)));
 }