public async void Save()
        {
            if (CurrentWallpaper == null)
            {
                MessageBox.Show(await LanService.Get("wallpaperEditor_warning_invalidWallpaper"));
                return;
            }
            if (string.IsNullOrEmpty(CurrentWallpaper.ProjectInfo.Title))
            {
                MessageBox.Show(await LanService.Get("wallpaperEditor_warning_titleEmpty"));
                return;
            }

            CanSave = false;

            string destDir = Path.Combine(AppManager.LocalWallpaperDir, Guid.NewGuid().ToString());

            try
            {
                //await Task.Run(() =>
                //{
                var result = await Task.Run(() => { return(WallpaperManager.CreateLocalPack(CurrentWallpaper, destDir)); });

                if (_editMode)
                {
                    //删除旧包
                    var temp = CurrentWallpaper;
                    CurrentWallpaper = null;
                    bool ok = await WallpaperManager.Delete(temp);

                    if (!ok)
                    {
                        MessageBox.Show("删除失败请手动删除");
                    }
                }
                //});
            }
            catch (Exception ex)
            {
                CanSave = true;
                logger.Error(ex);
                MessageBox.Show(ex.Message);
                return;
            }
            Result = true;
            TryClose();
        }
예제 #2
0
        public async void DeleteWallpaper(Wallpaper w)
        {
            bool ok = false;

            try
            {
                ok = await WallpaperManager.Delete(w);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

            if (!ok)
            {
                MessageBox.Show("删除失败请手动删除");
            }

            RefreshLocalWallpaper();
        }