public void Execute(object parameter) { _canExecute = false; var fs = new FileServiceClient(); var flvm = (FolderListVM)parameter; fs.GetFoldersCompleted += (sender, args) => { if (parameter is FolderListVM) { if (flvm.Folders == null) flvm.Folders = new ObservableCollection<FolderData>(); flvm.Folders.Clear(); foreach (var l in args.Result) { //var dt = new DataTemplate(); //dt.DataType = string; string subOnly = l.Replace(flvm.ClientRepository + "\\", ""); flvm.Folders.Add(new FolderData() { FolderName = subOnly }); } flvm.PropChanged("Folders"); } }; fs.GetFoldersAsync(flvm.ClientRepository); _canExecute = true; }