2011-11-03 2 views
1

richtextbox와 버튼이 포함 된 간단한보기가 있습니다. 내 RTB에 텍스트를 입력하고 내 단추를 클릭하면 viewmodel에서 RTB를 인쇄합니다.viewModel에 UIElement 바인딩

내 명령은보기 인쇄 버튼에서 설정하고 내 viewmodel에는 UIElement 속성이 있습니다.

제 질문은 어떻게 직접 viewModel의 UIElement 속성에 RTB를 바인딩합니까?

RTB의 개별 속성을 연결해도 문제가 없지만 전체 컨트롤은 무엇입니까?

+0

어떤 프레임 워크/언어를 사용하고 있습니까? C#/WPF? 그에 따라 태그하십시오. – Thilo

+0

C# SL4.0. biding은 보드 전체에서 동일할까요? –

답변

2

데이터 바인딩을 사용하여이를 달성하는 방법에 대해서는 확실하지 않습니다. 수동으로 참조를 설정하는 것은 어떨까요?

MyControl.Loaded += (s, e) => { 
    ((ViewModel)MyControl.DataContext).UiElementProperty = MyControl; 
}; 

... 왜 VM과 같은 작업을 수행하려고하는지 잘 모르겠지만. 보기에서 그것을 다루는 것은 어떨까요? 그렇지 않으면 "대화가 사용자가 시작해야 함"유형 오류가 발생할 수도 있습니다.

+0

웹에서 인쇄 예제를 시도하고 있었고 코드가 모두 뒤떨어져 있었기 때문에 UIElement에 쉽게 액세스 할 수 있었으며 MVVM에 대한 내 머리를 올바르게 잡으려고 노력했습니다. –

+0

필자는 단순히보기에서 더 잘 처리되는 몇 가지 작업을 제안합니다. 인쇄 작업도 그 중 하나입니다. MVVM은 훌륭하지만,보기에서 코드로 쉽게 구현 될 수있는 무언가를 구현하기 위해 매듭을 맺고있는 것을 알게되면, 그냥 앞으로 나아가서 놓아야한다는 좋은 징후가 될 수 있습니다. –

관련 문제