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<ShellViewModel>();
containerRegistry.Register<Shell>(); containerRegistry.Register<Shell>();
containerRegistry.RegisterSingleton<CalculationPackageContainer>(); containerRegistry.RegisterSingleton<CalculationPackageContainer>();
containerRegistry.RegisterSingleton<CalculationPackage, DetailedGeometryPackage>(); containerRegistry.RegisterSingleton<Package, DetailedGeometryPackage>();
containerRegistry.RegisterSingleton<CalculationPackage, AdditionalMoments>(); containerRegistry.RegisterSingleton<Package, AdditionalMoments>();
containerRegistry.RegisterForNavigation<DetailedGeometryView>(); containerRegistry.RegisterForNavigation<DetailedGeometryView>();
} }

View File

@ -12,6 +12,6 @@ namespace MaterialModernWPF.Module
_container = container; _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 namespace MaterialModernWPF.Service
{ {
public class AdditionalMoments : CalculationPackage public class AdditionalMoments : Package
{ {
public AdditionalMoments(IEventAggregator eventAggregator) : base(eventAggregator) public AdditionalMoments(IEventAggregator eventAggregator) : base(eventAggregator)
{ {

View File

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

View File

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

View File

@ -2,7 +2,7 @@
namespace MaterialModernWPF.Service 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 namespace MaterialModernWPF.Service
{ {
public class DetailedGeometryPackage : CalculationPackage public class DetailedGeometryPackage : Package
{ {
public DetailedGeometryPackage(IEventAggregator eventAggregator) : base(eventAggregator) public DetailedGeometryPackage(IEventAggregator eventAggregator) : base(eventAggregator)
{ {

View File

@ -13,6 +13,7 @@
Title="NiftyTool NG" Title="NiftyTool NG"
Width="920" Width="920"
Height="600" Height="600"
d:DataContext="{d:DesignInstance view:ShellViewModel}"
modern:UIHooks.AutoDpiScale="True" modern:UIHooks.AutoDpiScale="True"
prism:ViewModelLocator.AutoWireViewModel="True" prism:ViewModelLocator.AutoWireViewModel="True"
Background="{DynamicResource MaterialDesignPaper}" Background="{DynamicResource MaterialDesignPaper}"
@ -85,7 +86,10 @@
IsChecked="False" IsChecked="False"
Style="{StaticResource MaterialDesignHamburgerToggleButton}" /> Style="{StaticResource MaterialDesignHamburgerToggleButton}" />
<StackPanel DockPanel.Dock="Right" Orientation="Horizontal"> <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 <materialDesign:PackIcon
Width="32" Width="32"
Height="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 namespace MaterialModernWPF.View
{ {
@ -6,6 +8,9 @@ namespace MaterialModernWPF.View
{ {
public ShellViewModel() public ShellViewModel()
{ {
GcCollectCommand = new DelegateCommand(System.GC.Collect);
} }
public ICommand GcCollectCommand {get; }
} }
} }