file-scoped namespaces and other cleanup stuff
This commit is contained in:
@ -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);
|
||||
}
|
||||
}
|
@ -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;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user