라고 안한다 RatesProperty. 요금 및 관련 메소드는 다음과 같다 : I가 ObservableCollection에 요금을 변경할 때 예상처럼종속성 속성 'PropertyChangedCallback은
private ObservableCollection<double> rates;
public ObservableCollection<double> Rates
{
get { return this.rates; }
set
{
if (this.rates != value)
{
this.rates = value;
OnPropertyChanged("Rates");
}
}
}
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void OnPropertyChanged(string propertyName)
{
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
가 (예컨대 this.Rates = new ObservableCollection<double>() { 1.0, 2.0 }
으로) 사용자 제어 OnRatesChanged() 메소드를 호출한다. 나는 다음을 실행할 때, 호출되지 않습니다
this.Rates[0] = (double)1;
this.Rates[1] = (double)2;
OnPropertyChanged("Rates");
은 내가 올바른 속성 이름과 함께하여 PropertyChanged 이벤트를 발생시킬 때, 사용자 정의 컨트롤에서 해당 콜백이 항상 호출 것으로 예상. 틀렸어? 이 스레드를 찾았 : Getting PropertyChangedCallback of a dependency property always - Silverlight 은색을 다루고 있지만 WPF에서는 마찬가지라고 생각합니다.
프레임 워크는 백그라운드의 바운드 프로퍼티 (내 예제에서는 "Rates")가 변경되었는지 여부와 변경된 경우에만 관련 콜백을 호출하는지 확인합니다. 따라서 내 컬렉션의 요소를 변경해도 아무런 영향이 없으며 항상 전체 컬렉션을 변경해야합니다.
감사합니다.
, 왜이 변경 될 때 컬렉션이 통지 것을 이용하지 개별 항목? – Per