file-scoped namespaces and other cleanup stuff

This commit is contained in:
2023-04-02 22:49:00 +02:00
parent c2e7cc1a3c
commit fc7cdceb05
15 changed files with 415 additions and 443 deletions

View File

@ -3,24 +3,23 @@ using Avalonia.Markup.Xaml;
using AvaloniaCoreRTDemo.Controls.ViewModels;
namespace AvaloniaCoreRTDemo.Controls
namespace AvaloniaCoreRTDemo.Controls;
public sealed partial class MainControl : UserControl
{
public sealed partial class MainControl : UserControl
public MainControl()
{
public MainControl()
{
InitializeComponent();
}
private void InitializeComponent()
{
AvaloniaXamlLoader.Load(this);
DataContext = new MainControlViewModel();
}
public void Reload(IMainWindowState model)
{
DataContext = new MainControlViewModel(model);
}
InitializeComponent();
}
}
private void InitializeComponent()
{
AvaloniaXamlLoader.Load(this);
DataContext = new MainControlViewModel();
}
public void Reload(IMainWindowState model)
{
DataContext = new MainControlViewModel(model);
}
}

View File

@ -1,46 +1,45 @@
using Avalonia.Media.Imaging;
using MvvmGen;
namespace AvaloniaCoreRTDemo.Controls.ViewModels
namespace AvaloniaCoreRTDemo.Controls.ViewModels;
[ViewModel]
internal sealed partial class MainControlViewModel : IMainWindowState
{
[ViewModel]
internal sealed partial class MainControlViewModel : IMainWindowState
private IBitmap _dotNetImage;
private IBitmap _avaloniaImage;
private bool _unloadable = false;
public IBitmap DotNetImage => _dotNetImage;
public IBitmap AvaloniaImage => _avaloniaImage;
public string? Text { get; set; }
partial void OnInitialize()
{
private IBitmap _dotNetImage;
private IBitmap _avaloniaImage;
_dotNetImage = Utilities.GetImageFromFile("dotnet.png");
_avaloniaImage = Utilities.GetImageFromFile("avalonia.png");
}
private bool _unloadable = false;
public MainControlViewModel(IMainWindowState state) : this()
{
_avaloniaImage = state.AvaloniaImage;
_dotNetImage = state.DotNetImage;
Text = state.Text;
state.SetUnloadable();
}
public IBitmap DotNetImage => _dotNetImage;
public IBitmap AvaloniaImage => _avaloniaImage;
public string? Text { get; set; }
partial void OnInitialize()
~MainControlViewModel()
{
if (!_unloadable)
{
_dotNetImage = Utilities.GetImageFromFile("dotnet.png");
_avaloniaImage = Utilities.GetImageFromFile("avalonia.png");
}
public MainControlViewModel(IMainWindowState state) : this()
{
_avaloniaImage = state.AvaloniaImage;
_dotNetImage = state.DotNetImage;
Text = state.Text;
state.SetUnloadable();
}
~MainControlViewModel()
{
if (!_unloadable)
{
_dotNetImage.Dispose();
_avaloniaImage.Dispose();
}
}
void IMainWindowState.SetUnloadable()
{
_unloadable = true;
_dotNetImage.Dispose();
_avaloniaImage.Dispose();
}
}
}
void IMainWindowState.SetUnloadable()
{
_unloadable = true;
}
}