2017-12-21 34 views
2

Caliburn Micro MVVM을 사용하여 코드 뒤에서 ScrollViewer을 제어하려고합니다. 나는 viewmodel에서 처리되는 버튼 클릭이 있습니다. 나는 또한 ScrollViewer에있는 메소드를 호출해야하는데, 이는 파일 뒤에 view.xaml.cs 코드에서만 수행 할 수 있다고 생각합니다.
2 가지를 시도했습니다. 1) EventHandler 2) Caliburn Micro IHandleCaliburn 마이크로 핸들링 코드 뒤에 메시지

파일 뒤에 코드를 삽입하는 방법이 없습니다.

여기에 옵션 2의 코드입니다

뷰 모델 :

_eventAggregator.PublishOnUIThread(new MyClickMessage(this)); 

코드 숨김 (view.xaml.cs) 파일 :

public partial class MyClass: UserControl, IHandle<MyClickMessage> 
{ 
public MyClass() 
{ 
    InitializeComponent(); 
} 

public void Handle(MyClickMessage message) 
{ 
NOT HITTING HERE 
} 
} 

대단히 감사 어떤 조언.

답변

2

보기에서 실제로 구독하면 작동합니다. 이것을 시도하십시오 :

public partial class MyClass : UserControl, IHandle<MyClickMessage> 
{ 
    public MyClass() 
    { 
     InitializeComponent(); 
     IEventAggregator eventAggregator = IoC.Get<IEventAggregator>(); 
     eventAggregator.Subscribe(this); 
    } 

    public void Handle(MyClickMessage message) 
    { 
     //... 
    } 
} 

그것은 나를 위해 잘 작동합니다.