renaming and garbage collection

This commit is contained in:
Holger Boerchers 2019-01-26 13:40:16 +01:00
parent f114304ec9
commit 91fa709b4b
9 changed files with 22 additions and 13 deletions

View File

@ -25,8 +25,8 @@ namespace MaterialModernWPF
containerRegistry.Register<ShellViewModel>();
containerRegistry.Register<Shell>();
containerRegistry.RegisterSingleton<CalculationPackageContainer>();
containerRegistry.RegisterSingleton<CalculationPackage, DetailedGeometryPackage>();
containerRegistry.RegisterSingleton<CalculationPackage, AdditionalMoments>();
containerRegistry.RegisterSingleton<Package, DetailedGeometryPackage>();
containerRegistry.RegisterSingleton<Package, AdditionalMoments>();
containerRegistry.RegisterForNavigation<DetailedGeometryView>();
}

View File

@ -12,6 +12,6 @@ namespace MaterialModernWPF.Module
_container = container;
}
public IEnumerable<CalculationPackage> Packages => _container.CalculationPackages;
public IEnumerable<Package> Packages => _container.CalculationPackages;
}
}

View File

@ -3,7 +3,7 @@ using Prism.Events;
namespace MaterialModernWPF.Service
{
public class AdditionalMoments : CalculationPackage
public class AdditionalMoments : Package
{
public AdditionalMoments(IEventAggregator eventAggregator) : base(eventAggregator)
{

View File

@ -4,12 +4,12 @@ using Prism.Events;
namespace MaterialModernWPF.Service
{
public abstract class CalculationPackage
public abstract class Package
{
private readonly IEventAggregator _eventAggregator;
private bool _isSelected;
protected CalculationPackage(IEventAggregator eventAggregator)
protected Package(IEventAggregator eventAggregator)
{
_eventAggregator = eventAggregator;
}

View File

@ -9,7 +9,7 @@ namespace MaterialModernWPF.Service
{
private readonly IRegionManager _regionManager;
private readonly IResolver _resolver;
public CalculationPackage[] CalculationPackages { get; }
public Package[] CalculationPackages { get; }
public CalculationPackageContainer(
IEventAggregator eventAggregator, IRegionManager regionManager,
@ -17,11 +17,11 @@ namespace MaterialModernWPF.Service
{
_regionManager = regionManager;
_resolver = resolver;
CalculationPackages = resolver.ResolveMany<CalculationPackage>().ToArray();
CalculationPackages = resolver.ResolveMany<Package>().ToArray();
eventAggregator.GetEvent<CalculationPackageSelectionChangedEvent>().Subscribe(SelectionChanged);
}
private void SelectionChanged((CalculationPackage sender, bool isSelected) payload)
private void SelectionChanged((Package sender, bool isSelected) payload)
{
var viewKey = payload.sender.GetType().FullName;
var region = _regionManager.Regions[Constants.PackagesRegion];

View File

@ -2,7 +2,7 @@
namespace MaterialModernWPF.Service
{
public class CalculationPackageSelectionChangedEvent : PubSubEvent<(CalculationPackage, bool)>
public class CalculationPackageSelectionChangedEvent : PubSubEvent<(Package, bool)>
{
}

View File

@ -3,7 +3,7 @@ using Prism.Events;
namespace MaterialModernWPF.Service
{
public class DetailedGeometryPackage : CalculationPackage
public class DetailedGeometryPackage : Package
{
public DetailedGeometryPackage(IEventAggregator eventAggregator) : base(eventAggregator)
{

View File

@ -13,6 +13,7 @@
Title="NiftyTool NG"
Width="920"
Height="600"
d:DataContext="{d:DesignInstance view:ShellViewModel}"
modern:UIHooks.AutoDpiScale="True"
prism:ViewModelLocator.AutoWireViewModel="True"
Background="{DynamicResource MaterialDesignPaper}"
@ -85,7 +86,10 @@
IsChecked="False"
Style="{StaticResource MaterialDesignHamburgerToggleButton}" />
<StackPanel DockPanel.Dock="Right" Orientation="Horizontal">
<Button materialDesign:ShadowAssist.ShadowDepth="Depth0" Style="{StaticResource MaterialDesignFloatingActionButton}">
<Button
materialDesign:ShadowAssist.ShadowDepth="Depth0"
Command="{Binding GcCollectCommand}"
Style="{StaticResource MaterialDesignFloatingActionButton}">
<materialDesign:PackIcon
Width="32"
Height="32"

View File

@ -1,4 +1,6 @@
using Prism.Mvvm;
using System.Windows.Input;
using Prism.Commands;
using Prism.Mvvm;
namespace MaterialModernWPF.View
{
@ -6,6 +8,9 @@ namespace MaterialModernWPF.View
{
public ShellViewModel()
{
GcCollectCommand = new DelegateCommand(System.GC.Collect);
}
public ICommand GcCollectCommand {get; }
}
}