2011-12-22 3 views
0

저는 WPF의 데이터 바인딩 작업을 막 시작 했으므로이 질문의 기본 성격을 변명하십시오.데이터 바인딩 이벤트 인수 객체

사용자 지정 이벤트를받는 사용자 정의 컨트롤이 있고이 사용자 정의 컨트롤의 컨트롤에 바인딩 할 개체가 이벤트 인수 중 하나입니다.

콤보 상자와 같은 컨트롤에 바인딩 한 다음 콤보 상자의 선택한 항목에 그리드의 datacontext를 설정하고 컨트롤을 바인딩하는 예가 있습니다. 이 사용자 정의 컨트롤에서 비슷한 일을하는 데 관심이 있지만 이벤트를 가져 오는 개체를 바인딩 할 대상을 모르겠습니다.

모든 의견을 환영합니다.

감사합니다. 이벤트 핸들러가있는 UserControl의 코드 숨김에있는 경우

답변

1

, 당신은 단지 같은 것을 쓸 수 있습니다 :

DataContext = args.ObjectIWantToBindTo; 

을 다음 XAML에 그냥 일반 바인딩을 작성할 수 있습니다 그들은 속성에 바인딩 (예 : 객체의 속성이 "Foo"인 경우 XAML에 "{Binding Foo}"라고 쓰십시오). 전체 사용자 정의 컨트롤을 개체에 바인딩하지 않고 XAML의 요소 하나만 바인딩하려면 해당 요소의 DataContext를 설정하면됩니다. 당신이 가지고 예를 들어, :

theGrid.DataContext = args.ObjectIWantToBindTo; 

을 그리고 다음 XAML에서 당신은 같은 것을 말할 수 있습니다 :

<Grid Name="theGrid">... 

당신은 작성합니다

<Grid Name="theGrid" Width="{Binding GridWidth}">... 

이벤트 인수 객체가 있었다 어디를 "GridWidth"속성.

+0

다나 (Dana)는 올바른 방향으로 지적했습니다. 고맙습니다. WPF 데이터 바인딩에 대한 훌륭한 책에 대한 제안 사항이 있습니까? – MikeMalter

+0

@MikeMalter : [MSDN] (http://msdn.microsoft.com/en-us/library/ms752347.aspx)? –

+0

책에 대해 잘 모르겠지만 MVVM (Model View ViewModel)을 읽지 않았다면 거기에서 시작할 것입니다. –

관련 문제