[Thư viện WPF] Lớp RelayCommand sử dụng trong mô hình MVVM
public class RelayCommand<T> : ICommand
{
private readonly Predicate<T>
_canExcute; // Lưu trữ điều kiện để thực hiện
command- Thực hiện hàm ủy thác
private readonly Action<T>
_execute; // Lưu trữ hàm ủy thác làm việc gì đó
// Khi khởi tạo
thì truyền điều kiện ủy thác và hàm ủy thác
public RelayCommand(Predicate<T>
canExecute, Action<T>
execute)
{
if (execute == null)
throw new ArgumentNullException("excute null");
_canExcute = canExecute;
_execute = execute;
}
//Điều kiện để
chạy command
public bool
CanExecute(object parameter)
{
return _canExcute == null ? true :
_canExcute((T)parameter);
}
//Hàm ủy thác
khi gọi command
public void Execute(object parameter)
{
_execute((T)parameter);
}
public event EventHandler CanExecuteChanged
{
//Thêm bớt vào
cái manager
add { CommandManager.RequerySuggested += value; }
remove { CommandManager.RequerySuggested -= value; }
}
}
[Thư viện WPF] Lớp RelayCommand sử dụng trong mô hình MVVM
Reviewed by Nguyen Nam
on
8/13/2017
Rating:
Không có nhận xét nào: