WPF는 권한 제어 버튼을 조작 WPF

원본 : WPF WPF 컨트롤 버튼 작동 권한

액세스 제어 우리가 얻을 수있는 많은 방법이 있습니다.

이 프로젝트는 우리가 모든 버튼이 트리거 판단하기 전에, 당신이 수행 할 수있는 권한을 가질 수있는 간단한 액세스 제어 할 수 있습니다.

우리는 사용자 정의 클래스를 주문하십시오.

 공공  클래스 DelegateCommand : ICommand의 
    { 
        액션 _action; 
        FUNC < BOOL > _canAction;
        문자열 _Role;
        공개 DelegateCommand (조 작용, 문자열 역할 = ) 
        { 
            _Role = 역할; 
            _action = 액션; 
        } 

        공개 DelegateCommand (조 작용, Func을 < BOOL > canAction, 문자열 역할 = ) 
        { 
            _Role =역할; 
            _action = 액션; 
            _canAction = canAction; 
        } 

        공개  부울 CanExecute ( 오브젝트 파라미터) 
        { 
            경우 (_canAction == ) 
            { 
                반환  ; 
            } 
            리턴 )를 _canAction.Invoke (; 
        } 

        공공  이벤트 핸들러는 CanExecuteChanged 
        { 
            추가 
            { 
                CommandManager.RequerySuggested + = 값; 
            }
            풀다
            { 
                CommandManager.RequerySuggested - = 값; 
            } 
        } 
          

        공개  보이드는 (실행 오브젝트 파라미터) 
        { 
            경우 (_action! = null의 ) 
            { 
                경우 (_Role! = null의 ) 
                { 
                   경우 (System.Windows.MessageBox.Show ( " 此权限为" + _Role, "" , System.Windows을 .MessageBoxButton.OKCancel)! = System.Windows.MessageBoxResult.OK) 
                    { 
                        반환  ;
                    } 
                } 
                _action.Invoke (); 
            } 
        }

실행]에서 권한을 확인

명령을 들어오는 때 권리는이 버튼 객체를

AbnormalCommand = 새로운 DelegateCommand < 문자열 > ((p) => Messenger.Default.Send < 문자열 > (p, " HomeNavgation " ), " 비정상 버튼 역할 " );

 

추천

출처www.cnblogs.com/lonelyxmas/p/11112123.html