private async Task QueryVolumes()
        {
            string jsonData = await m_pShellControl.GetAllVolumes();

            var jsonObj  = JObject.Parse(jsonData);
            var diskList = jsonObj["DiskList"];
            //解析json然后同步数据
            var diskArray = diskList.ToArray();

            foreach (var item in diskArray)
            {
                m_pModeview.FolderData.Add(new ModeView.FolderTreeViewItem(item.ToString(), item.ToString()));
            }

            //接下来构建文件夹书结构
            var strBasePath = jsonObj["BaseDir"];
            var subPath     = strBasePath.ToString().Split('\\');
            var treeData    = m_pModeview.FolderData;

            ModeView.FolderTreeViewItem currentItem = null;
            var strFullPath = "";

            foreach (var subItem in subPath)
            {
                bool bFind = false;
                foreach (var treeItem in treeData)
                {
                    if (subItem.CompareTo(treeItem.Path) == 0)
                    {
                        treeData = treeItem.SubFolder;
                        bFind    = true;
                        break;
                    }
                }

                if (strFullPath.CompareTo("") != 0)
                {
                    strFullPath += "\\";
                }
                strFullPath += subItem;

                if (bFind == false)
                {
                    //没有这一项,添加
                    var newFolder = new ModeView.FolderTreeViewItem(subItem, strFullPath);
                    treeData.Add(newFolder);
                    treeData    = newFolder.SubFolder;
                    currentItem = newFolder;
                }
            }

            //设置当前路径
            m_pModeview.FullPath = (string)strBasePath;

            //获取文件列表
            await GetFileList(strFullPath + "\\", currentItem);
        }
        private async Task GetFileList(string strQueryPath, ModeView.FolderTreeViewItem clickItem)
        {
            string jsonData = await m_pShellControl.GetFolderAndFiles(strQueryPath);

            var jsonObj = JObject.Parse(jsonData);

            //设置当前路径
            m_pModeview.FullPath = strQueryPath;
            //清除文件列表内容
            m_pModeview.FileData.Clear();
            //文件夹列表添加
            var folderList = jsonObj["folders"];

            foreach (var folderItem in folderList)
            {
                //文件列表添加
                m_pModeview.FileData.Add(new ModeView.FileInfoItem((string)folderItem["Name"], "文件夹", (long)folderItem["LastModifyTime"], (long)folderItem["Size"]));

                var findItem = from targeItem in clickItem.SubFolder where targeItem.Path == folderItem["Name"].ToString() select folderItem;
                if (findItem.Count() != 0)
                {
                    continue;
                }

                clickItem.SubFolder.Add(new ModeView.FolderTreeViewItem((string)folderItem["Name"], clickItem.FullPath + "\\" + (string)folderItem["Name"]));
            }

            //文件列表添加

            var fileList = jsonObj["files"];

            foreach (var fileItem in fileList)
            {
                var    strType     = "文件";
                string strFileName = (string)fileItem["Name"];
                if (strFileName != null)
                {
                    var nameSplit = strFileName.Split('.');
                    if (nameSplit.Length > 1)
                    {
                        strType = nameSplit[nameSplit.Length - 1];
                    }
                }

                m_pModeview.FileData.Add(new ModeView.FileInfoItem((string)fileItem["Name"], strType, (long)fileItem["LastModifyTime"], (long)fileItem["Size"]));
            }
        }