Als je de foutmelding “delegatecommand.canexecutechanged Memory Leak” krijgt, zou deze blogpost moeten helpen.
Goedgekeurd: Fortect
Goedgekeurd: Fortect
Fortect is 's werelds meest populaire en effectieve pc-reparatietool. Miljoenen mensen vertrouwen erop dat hun systemen snel, soepel en foutloos blijven werken. Met zijn eenvoudige gebruikersinterface en krachtige scanengine kan Fortect snel een breed scala aan Windows-problemen vinden en oplossen - van systeeminstabiliteit en beveiligingsproblemen tot geheugenbeheer en prestatieproblemen.
Ik heb onlangs werk voltooid aan desktop-applicaties die zijn geproduceerd in WPF en C # met behulp van MVVM-gewoonten. In deze mobiele app heb ik de Delegate Command-implementatie gebruikt om de ICommands-eigenschappen in mijn ModelView in te pakken. Het probleem is dat de volgende DelegateCommands voorkomen dat sommige ModelViews direct na het sluiten van de view overbodig zijn. Dus het blijft de achterkant totdat ik de volledige indiening van het formulier annuleer. Ik profileer de applicatie waarmee ik in discussie ben.Hoe kan ik dit soort situaties vermijden bovendien is het intern gerelateerd aan het mvvm-patroon of is het een sjabloonimplantatie?. Bedankt.
Bewerken: dit is een geschikt klein maar succesvol maar compleet onderdeel van de MVVM-implementatie van mijn favoriete partner
DelegateCommand-klasse: ICommand publiceer persoonlijke actie
open voor de publieke klasse ViewModel: DependencyObject, INotifyPropertyChanged Private DelegateCommand printCommand; Openbare ICommand PrintCommand zullen alsof je denkt (printCommand == null) printCommand betekent nieuwe DelegateCommand (Print, CanExecutePrint); retour printCommand; Afdrukgebied (object-object) Console.WriteLine ("Afdrukopdracht"); bool CanExecutePrint (obj-object) geeft waar terug; PropertyChangedEventHandler PropertyChanged politiegebeurtenis private void OnProeprtyChanged (string propertyName) if (PropertyChanged! is nul) PropertyChanged (dit, de nieuwe PropertyChangedEventArgs (property_name));
public MainWindow () Initialiseer onderdeel (); Base .DataContext = volledig nieuw ViewModel ();
Versnel de prestaties van uw computer nu met deze eenvoudige download.