/*
	MyHeight 의존 프로퍼티 선언

	PropertyMetadata 의 Default 값을 줄 때 해당 데이터형으로 캐스팅을 하지 않으면 문제가 발생할수 있다.
*/
public static readonly DependencyProperty MyHeightProperty = 
	DependencyProperty.Register ("MyHeight", typeof (double), typeof (MainPage), 
	new PropertyMetadata ((double) 0, new PropertyChangedCallback (OnMyHeightChanged)));

/*
	프로퍼티 수정시 처리하는 핸들러
*/
private static void OnMyHeightChanged (DependencyObject d, DependencyPropertyChangedEventArgs args)
{
	((MainPage)d).OnMyHeightChanged (args);
}

/*
	실제 데이터를 처리할 핸들러
*/
protected virtual void OnMyHeightChanged (DependencyPropertyChangedEventArgs args)
{
	// 로직
}

/*
	의존 프로퍼티
*/
public double MyHeight
{
	get { return (double) GetValue (MyHeightProperty); }
	set { SetValue (MyHeightProperty, value);  }
}

public MainPage ()
{
	/*
		스크롤Viewer 의 ExtentHeight 와 MyHeight 를 연결한다.
	*/

	// 데이터 바인딩..
	Binding newBinding = new Binding ("ExtentHeight");
	newBinding.Source = sView;

	// 바인딩 데이터를 연결한다.
	SetBinding (MyHeightProperty, newBinding);

}