2014-09-13 1 views
0

을하여 PropertyChanged. F12 키를 누르면 다음 줄이 나옵니다. var copyOfPropertyChangedEvent = PropertyChanged; PropertyChanged의 모든 용도를 검색 할 때 Visual Studio에서 사용법을 몇 가지 알려주고 모든 내용에 브레이크 포인트를 적용하면 아무 것도 맞지 않습니다.디버깅이 코드와 함께, 뷰 모델이라는 이름의 클래스가

PropertyChanged 이벤트에서 어떤 일이 벌어지고 있는지 어떻게 볼 수 있습니까?

+1

안녕, 당신은 코드와 맥락하시기 바랍니다 자세한 내용을 제공 할 수있다? 내가 본 코드의 아주 작은 코드는 정말 비린내로 보입니다. 더 많은 답변을 추측합니다 :) –

+1

기본적으로 속성 변경된 알림을 수신 대기하고 바인딩 대상을 업데이트하기 위해 바인딩 프레임 워크에서 사용됩니다. – pushpraj

답변

0

좋아, 우리는 다음

이 먼저 떨어져 나가 R 번호가처럼, 그것을 다음과 같은 방법을 구현하는 것이 : 추측을 다할 것입니다.

public class YourViewModelBase : INotifyPropertyChanged 
{ 
    public event PropertyChangedEventHandler PropertyChanged; 

    [NotifyPropertyChangedInvocator] // remove if no R# 
    protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null) 
    { 
     PropertyChangedEventHandler handler = PropertyChanged;    
     if (handler != null) handler(this, new PropertyChangedEventArgs(propertyName)); 
    } 
    // ..... 
} 

이제는 기본 메소드에 호출 할 메소드 목록이 포함되어 있습니다. PropertyChanged은 프레임 워크에서 GUI에 해당 속성의 재평가 (바인딩, 변환기 실행 및 다시 그리기)를 수행해야한다는 것을 알리는 데 사용되며, 사용자가 직접 해당 항목을 연결할 수도 있습니다. null 인 경우 UI가 연결되지 않을 수도 있으므로 더 많은 정보를 요청합니다.

어쨌든 내부적으로 어떻게 작동하는지 궁금하신 분은 RedGate Reflector를 설치하면 다른 기본 코드가 아닌 다른 코드로 이동할 수 있습니다. 또는 System.dll을 역 어셈블하여 거기에서 추적 할 수 있습니다.

본인이 후회했다는 것이 확실하지 않습니다.

건배

, 희망은 도움이

스티

+0

OnPropertyChanged 이벤트를 구현하는 방법을 묻는 중이 아니며 copyOfPropertyChangedEvent가 호출 될 때 어떤 메서드가 실행되는지 확인하는 방법을 묻고있었습니다. copyOfPropertyChangedEvent가 호출되면 어떤 코드가 실행됩니까? –

관련 문제