나는 을 Caliburn.Micro
과 함께 사용하고 있습니다. 레이블을 클릭 할 때 어떤 코드가 실행되기를 원합니다. 나는 약간의 인터넷 검색을 시도했고, 약 cal:Message.Attach
를 발견했다.Caliburn Micro 실행 코드 레이블 클릭
XAML :
<Label x:Name="Info" Content="Info" HorizontalAlignment="Left" Margin="305,440,0,0"
VerticalAlignment="Top" FontFamily="Tahoma" FontSize="10" FontWeight="Bold" cal:Message.Attach="[Action ShowAboutWindow()]"/>
C 번호 :
public void ShowAboutWindow()
{
MessageBox.Show("xyz"); // just to test whether ShowAboutWindow is executed whatsoever (see explanation below)
WindowManager.ShowWindow(new AboutViewModel(EventAggregator, WindowManager, SettingsManager));
}
그러나, ShowAboutWindow
는 전혀 실행되지 않습니다. 나는 WindowManager
이 그것을 고치지 않는 것을 확인하기 위해 MessageBox
을 추가했습니다.
내가 원하는 것을 어떻게 얻을 수 있습니까?
편집 1 : 이전에 시도한 것은 ViewModel
에 public void Info()
메서드를 추가하는 것이 었습니다.이 방법은 버튼에 적용됩니다. 그러나이 경우에는 그렇지 않았습니다.
당신은 우리에게 당신의 BootStrapper를 보여줄 수 있습니까? 둘째로 당신은 DI/IoC 컨테이너를 사용하고 있습니까? – mvermef
또한 라벨을 사용하는 이유는 무엇입니까? 스타일이 지정된 버튼은 레이블처럼 평범하게 보일 수 있으며 기본적으로 클릭 이벤트를 사용할 수 있습니다. – Nkosi
@ Nkosi 지금 버튼을 사용하고 있습니다. 그러나 내가 시도하는 것이 무엇이든간에 비활성화되어 있습니다. IsEnabled 속성을 true로 설정해도 비활성화되어 있습니다 ...?! –