Sto sviluppando applicazioni WPF e desidero riutilizzare le mie classi uguali in tutte quelle applicazioni in modo da poterle aggiungere come riferimento.La libreria di classi non riconosce la classe CommandManager
Nel mio caso ho una classe per i miei comandi:
public class RelayCommand : ICommand
{
#region Fields
readonly Action<object> _execute;
readonly Predicate<object> _canExecute;
#endregion // Fields
#region Constructors
public RelayCommand(Action<object> execute)
: this(execute, null)
{
}
public RelayCommand(Action<object> execute, Predicate<object> canExecute)
{
if (execute == null)
throw new ArgumentNullException("execute");
_execute = execute;
_canExecute = canExecute;
}
#endregion // Constructors
#region ICommand Members
public bool CanExecute(object parameter)
{
return _canExecute == null ? true : _canExecute(parameter);
}
public event EventHandler CanExecuteChanged
{
add { CommandManager.RequerySuggested += value; }
remove { CommandManager.RequerySuggested -= value; }
}
public void Execute(object parameter)
{
_execute(parameter);
}
#endregion // ICommand Members
}
Questo funziona perfetto nella mia domanda, ma quando voglio fare una libreria di classi, che voglio solo aggiungere come riferimento nel mio progetto , lo studio visivo non può essere compilato perché "CommandManager non esiste nel contesto corrente". Nei miei usings ho il seguente (che dovrebbe essere sufficiente)
using System;
using System.Windows.Input;
Tutte le idee perché non riesco a fare questo in un "progetto di libreria di classi"?
Perfetto! Grazie :) – koala
e grazie anche per il suggerimento di class1.cs – amaca