방법: 코드에서 바인딩 만들기
업데이트: 2007년 11월
이 예제에서는 코드로 Binding을 만들고 설정하는 방법을 보여 줍니다.
예제
FrameworkElement 클래스와 FrameworkContentElement 클래스는 둘 다 SetBinding 메서드를 노출합니다. 이러한 클래스 중 하나를 상속하는 요소를 바인딩하는 경우에는 다음 예제와 같이 SetBinding 메서드를 직접 호출할 수 있습니다. 이 예제에서는 myDataObject가 MyData 클래스의 인스턴스이고 myBinding이 소스 Binding 개체입니다. MyData 클래스는 MyDataProperty라는 문자열 속성을 포함하는 정의된 클래스입니다. 다음 예제에서는 TextBlock의 인스턴스인 mytext의 텍스트 콘텐츠를 MyDataProperty에 바인딩하는 방법을 보여 줍니다.
Dim data1 As New MyData(DateTime.Now)
Dim binding1 As New Binding("MyDataProperty")
binding1.Source = data1
Me.myText.SetBinding(TextBlock.TextProperty, binding1)
//make a new source
MyData myDataObject = new MyData(DateTime.Now);
Binding myBinding = new Binding("MyDataProperty");
myBinding.Source = myDataObject;
myText.SetBinding(TextBlock.TextProperty, myBinding);
전체 코드 샘플을 보려면 코드에 바인딩 만들기 샘플을 참조하십시오.
BindingOperations 클래스의 SetBinding 메서드를 사용할 수도 있습니다. 다음 예제에서 myNewBindDef는 바인딩을 설명하는 Binding 개체입니다. 바인딩 대상은 TextBlock 클래스의 인스턴스인 myDateText입니다.
// myDatetext is a TextBlock object that is the binding target object
BindingOperations.SetBinding(myDateText, TextBlock.TextProperty, myNewBindDef);
BindingOperations.SetBinding(myDateText, TextBlock.ForegroundProperty, myNewBindDef);