Exemple #1
0
        // true=成功,false=失败,null=取消
        private async Task <bool?> _SaveAsync()
        {
            bool?result = null;

            if (_Saved)
            {
                if (File.Exists(Entrance.FileName))
                {
                    // 当且仅当已经保存且文件存在,才认为不需要(重新)保存且保存成功
                    result = true;
                }
                // 如果文件已经保存,但不存在(被删除/移动存储介质弹出),那么重新保存
                else
                {
                    result = await AsyncMethod.SaveAsync();

                    // 如果保存失败,那么另存为
                    if (!result.Value)
                    {
                        bool?r = _SaveFileDialog.ShowDialog();

                        if (r ?? false)
                        {
                            result = await AsyncMethod.SaveAsAsync(_SaveFileDialog.FileName);
                        }
                    }
                }
            }
            else
            {
                if (!string.IsNullOrEmpty(Entrance.FileName))
                {
                    result = await AsyncMethod.SaveAsync();
                }
                // 首次保存等同于另存为
                else
                {
                    bool?r = _SaveFileDialog.ShowDialog();

                    if (r ?? false)
                    {
                        result = await AsyncMethod.SaveAsAsync(_SaveFileDialog.FileName);
                    }
                }
            }

            _Saved = result ?? false;

            return(result);
        }
Exemple #2
0
        // true=成功,false=失败,null=取消
        private async Task <bool?> _SaveAsAsync()
        {
            bool?result = null;

            bool?r = _SaveFileDialog.ShowDialog();

            if (r ?? false)
            {
                result = await AsyncMethod.SaveAsAsync(_SaveFileDialog.FileName);
            }

            _Saved = result ?? false;

            return(result);
        }