Se você receber um erro “delegatecommand.canexecutechanged Memory Leak”, esta postagem no site de blog deve ajudar.
Aprovado: Fortect
Aprovado: Fortect
Fortect é a ferramenta de reparo de PC mais popular e eficaz do mundo. Milhões de pessoas confiam nele para manter seus sistemas funcionando de forma rápida, suave e livre de erros. Com sua interface de usuário simples e mecanismo de verificação poderoso, o Fortect localiza e corrige rapidamente uma ampla gama de problemas do Windows, desde instabilidade do sistema e problemas de segurança até gerenciamento de memória e gargalos de desempenho.
Recentemente, trabalhei em aplicativos de desktop escritos em WPF e também em C # usando padrões MVVM. Neste aplicativo móvel, usei a implementação Delegate Command para você envolver as propriedades ICommands apresentadas em meu ModelView. O problema é que esses DelegateCommands evitam que vários ModelViews sejam desnecessários depois que a visualização é normalmente fechada. Portanto, ele permanece oculto até que eu remova todo o envio do formulário. Estou criando o perfil de todo o aplicativo que estou encontrando.Como posso evitar esse tipo de situação? Ele está na câmera relacionado ao modelo mvvm ou é tudo uma implantação de modelo? Obrigado.
Editar: esta é uma parte pequena, mas lucrativa, mas completa da execução do MVVM do meu parceiro
Classe DelegateCommand: ICommand completar a ação pública ; predicado privado canExcute; public DelegateCommand (Ação faz a ocupação, Predicado canExecute) se o seguinte for (run == null) forjou uma nova exceção ArgumentNullException ("execute"); this.execute é equivalente em relação a Execute; this.canExcute CanExecute; = arrest bool CanExecute (parâmetro de objeto) if (this.canExcute! = null) use canExcute (parâmetro) novamente; return true; evento público EventHandler CanExecuteChanged poste mais CommandManager.RequerySuggested + = value; subtraia CommandManager.RequerySuggested - = valor; public Execute (parâmetros vazios de parâmetro) this.execute (parâmetro);
public class ViewModel: DependencyObject, INotifyPropertyChanged DelegateCommand privado printCommand; Public ICommand PrintCommand vai como se (printCommand == null) printCommand = novo DelegateCommand (Imprimir, CanExecutePrint); volte printCommand; Área de impressão (objeto-objeto) Console.WriteLine ("Ordem de impressão"); bool CanExecutePrint (objeto obj) resultados verdadeiros; PropertyChangedEventHandler PropertyChanged evento público personalizado void OnProeprtyChanged (string propertyName) suponha (PropertyChanged! iszero) PropertyChanged (este, o novo PropertyChangedEventArgs (property_name));
public MainWindow () Inicializar componente (); Base .DataContext = new ViewModel ();
Acelere o desempenho do seu computador agora com este simples download.