📄 src/App/Views/MainView.axaml.cs
using Avalonia;
using Avalonia.Controls;
using MMirror.App.ViewModels;

namespace MMirror.App.Views;

public partial class MainView : UserControl
{
    public MainView()
    {
        InitializeComponent();
    }

    protected override void OnAttachedToVisualTree(VisualTreeAttachmentEventArgs e)
    {
        base.OnAttachedToVisualTree(e);

        if (DataContext is MainViewModel vm)
        {
            vm.SubscribeToUpdates();
        }
    }

    protected override void OnDetachedFromVisualTree(VisualTreeAttachmentEventArgs e)
    {
        if (DataContext is MainViewModel vm)
        {
            vm.UnsubscribeFromUpdates();
        }

        base.OnDetachedFromVisualTree(e);
    }
}