feat: simplify VM initialization.

This commit is contained in:
Zhang Dian
2025-06-04 17:12:54 +08:00
parent 5d5c439cb0
commit 447629170b
3 changed files with 12 additions and 19 deletions

View File

@@ -7,25 +7,24 @@ namespace Ursa.Demo.Pages;
public partial class ToastDemo : UserControl
{
private ToastDemoViewModel _viewModel;
private ToastDemoViewModel? _viewModel;
public ToastDemo()
{
InitializeComponent();
_viewModel = new ToastDemoViewModel();
DataContext = _viewModel;
}
protected override void OnAttachedToVisualTree(VisualTreeAttachmentEventArgs e)
{
base.OnAttachedToVisualTree(e);
var topLevel = TopLevel.GetTopLevel(this);
_viewModel.ToastManager = new WindowToastManager(topLevel) { MaxItems = 3 };
if (DataContext is not ToastDemoViewModel vm) return;
_viewModel = vm;
_viewModel.ToastManager = new WindowToastManager(TopLevel.GetTopLevel(this)) { MaxItems = 3 };
}
protected override void OnDetachedFromVisualTree(VisualTreeAttachmentEventArgs e)
{
base.OnDetachedFromVisualTree(e);
_viewModel.ToastManager?.Uninstall();
_viewModel?.ToastManager?.Uninstall();
}
}