This commit is contained in:
rmbgame
2021-03-01 02:08:14 +08:00
parent 546c06f100
commit e081b136f8
22 changed files with 343 additions and 106 deletions
@@ -0,0 +1,33 @@
using ReactiveUI;
using System.Application.Mvvm;
namespace System.Application.UI.ViewModels
{
public class ViewModelBase : ReactiveObject, IDisposable
{
[NonSerialized] CompositeDisposable? _compositeDisposable;
[NonSerialized] bool _disposed;
/// <summary>
/// 是否在设计器的上下文中运行
/// </summary>
public static bool IsInDesignMode { get; set; }
/// <summary>
/// 释放该实例使用的所有资源
/// </summary>
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
protected virtual void Dispose(bool disposing)
{
if (_disposed) return;
if (disposing) _compositeDisposable?.Dispose();
_disposed = true;
}
}
}