CPF/CPF.Toolkit/ToolkitHelper.cs
luxiaoqi a1db3807ff mdi
2023-11-29 17:07:17 +08:00

47 lines
1.4 KiB
C#

using CPF.Controls;
using CPF.Toolkit.Dialogs;
using System;
using System.Collections.Generic;
using System.Text;
namespace CPF.Toolkit
{
public static class ToolkitHelper
{
internal static void CreateLoading(this ILoading loading,UIElement uIElement)
{
loading.ShowLoadingFunc += async (message, task) =>
{
var loadingBox = new LoadingBox { Message = message };
var layer = new LayerDialog
{
Name = "loadingDialog",
Content = loadingBox,
ShowCloseButton = false,
Background = null,
};
layer.ShowDialog(uIElement);
dynamic t = task;
var result = await t;
loadingBox.Invoke(layer.CloseDialog);
return result;
};
loading.ShowLoading += async (message, task) =>
{
var loadingBox = new LoadingBox { Message = message };
var layer = new LayerDialog
{
Name = "loadingDialog",
Content = loadingBox,
ShowCloseButton = false,
Background = null,
};
layer.ShowDialog(uIElement);
await task;
loadingBox.Invoke(layer.CloseDialog);
};
}
}
}