mirror of
https://gitee.com/csharpui/CPF.git
synced 2025-06-28 13:34:09 +08:00
134 lines
4.1 KiB
C#
134 lines
4.1 KiB
C#
using CPF;
|
|
using CPF.Animation;
|
|
using CPF.Charts;
|
|
using CPF.Controls;
|
|
using CPF.Drawing;
|
|
using CPF.Shapes;
|
|
using CPF.Styling;
|
|
using CPF.Svg;
|
|
using CPF.Toolkit.Dialogs;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Diagnostics;
|
|
using System.Linq;
|
|
using System.Text;
|
|
|
|
namespace CPF.Toolkit.Demo
|
|
{
|
|
public class MainView : Window
|
|
{
|
|
MainViewModel vm = new MainViewModel();
|
|
protected override void InitializeComponent()
|
|
{
|
|
Title = "标题";
|
|
Width = 500;
|
|
Height = 400;
|
|
Background = null;
|
|
this.DataContext = this.CommandContext = vm;
|
|
this.CanResize = true;
|
|
|
|
Children.Add(new WindowFrame(this, new WrapPanel
|
|
{
|
|
Orientation = Orientation.Horizontal,
|
|
Size = SizeField.Fill,
|
|
Children =
|
|
{
|
|
new Button
|
|
{
|
|
Content = "alert",
|
|
Commands = { { nameof(Button.Click),(s,e) => vm.Dialog.Alert("这是一条测试消息") } }
|
|
},
|
|
new Button
|
|
{
|
|
Content = "Sucess",
|
|
Commands = { { nameof(Button.Click),(s,e) => vm.Dialog.Sucess("这是一条测试消息") } }
|
|
},
|
|
new Button
|
|
{
|
|
Content = "Error",
|
|
Commands = { { nameof(Button.Click),(s,e) => vm.Dialog.Error("这是一条测试消息") } }
|
|
},
|
|
new Button
|
|
{
|
|
Content = "Ask",
|
|
Commands = { { nameof(Button.Click),(s,e) => vm.Dialog.Ask("这是一条测试消息") } }
|
|
},
|
|
new Button
|
|
{
|
|
Content = "Warn",
|
|
Commands = { { nameof(Button.Click),(s,e) => vm.Dialog.Warn("这是一条测试消息") } }
|
|
},
|
|
new Button
|
|
{
|
|
Content = "关闭窗体",
|
|
Commands = { { nameof(Button.Click),(s,e) => vm.Test() } }
|
|
},
|
|
new Button
|
|
{
|
|
Content = "loading",
|
|
Commands = { { nameof(Button.Click),(s,e) => vm.LoadingTest() } }
|
|
},
|
|
new Button
|
|
{
|
|
Content = "AsyncButton",
|
|
Commands =
|
|
{
|
|
{ nameof(Button.AsyncClick),async (s,e) => await this.vm.AsyncClick() }
|
|
}
|
|
},
|
|
new Button
|
|
{
|
|
Content = "Mdi",
|
|
Commands =
|
|
{
|
|
{ nameof(Button.Click), (s,e) => new TestMdiView().Show() }
|
|
}
|
|
},
|
|
}
|
|
}));
|
|
|
|
}
|
|
}
|
|
|
|
internal class MainViewModel : ViewModelBase
|
|
{
|
|
public void Test()
|
|
{
|
|
this.Close();
|
|
}
|
|
|
|
protected override void OnClose(ClosingEventArgs e)
|
|
{
|
|
e.Cancel = this.Dialog.Ask("确定要关闭吗") != "确定";
|
|
base.OnClose(e);
|
|
}
|
|
|
|
public async void LoadingTest()
|
|
{
|
|
await this.ShowLoading(async () =>
|
|
{
|
|
await Task.Delay(1000);
|
|
Debug.WriteLine(1);
|
|
await Task.Delay(1000);
|
|
Debug.WriteLine(2);
|
|
await Task.Delay(1000);
|
|
Debug.WriteLine(3);
|
|
});
|
|
//await this.ShowLoading(Task.Delay(3000));
|
|
|
|
//var result = await this.ShowLoading(async () =>
|
|
//{
|
|
// await Task.Delay(5000);
|
|
// return "test";
|
|
//});
|
|
this.Dialog.Sucess("test");
|
|
}
|
|
|
|
public async Task AsyncClick()
|
|
{
|
|
await Task.Delay(3000);
|
|
this.Dialog.Alert("test");
|
|
}
|
|
}
|
|
}
|