내 WPF 프로젝트에 Caliburn 마이크로를 사용합니다. 정적 메뉴는 Caliburn와 결합하기 쉬운Caliburn 마이크로가 포함 된 동적 메뉴
<Menu Grid.Row="0" IsMainMenu="True">
<MenuItem Header="_File">
<MenuItem x:Name="OpenScript" Header="_Open script"/>
</MenuItem>
<MenuItem Header="_Script">
<MenuItem x:Name="RunScript" Header="_Run script" />
<MenuItem x:Name="StopScript" Header="_Stop script" />
</MenuItem>
<MenuItem Header="S_ettings">
<MenuItem x:Name="Plugins" Header="_Plugins">...Clickable children here</MenuItem>
</MenuItem>
</Menu>
이름이 모델의 메소드에 바인딩하지만 ... 우리가 PluginViewModel의 컬렉션에 바인딩 할 필요 이상으로 볼 수있는 플러그인 메뉴에 대한 그럼 당신은을 클릭하면된다 플러그인 나는 Caliburn 액션 메소드가 메뉴 뷰 모델 (지금 당신이 reuturn IResults를 얻을 수있는 종류)에서 트리거하도록합니다. 이것이 가능합니까? , 내가 바인딩 부분을 해결 한 것을 언급하는 것을 잊었다
public BindableCollection<PluginMenuViewModel> Plugins { get; set; }
하지만 난에서 클릭을 청취하는 방법을 모른다 :
이 질문은이 오픈 소스 프로젝트 https://github.com/AndersMalmgren/FreePIE
편집을위한
죄송하지만, 정확히 어디에서합니까? 'cal : Message.Attach = "ShowSettings ($ originalsourcecontext)"'를 추가 하시겠습니까? '
제발 여기 좀 봐 https://github.com/AndersMalmgren/FreePIE/blob/master/FreePIE.GUI/Views/Main/MainMenuView.xaml#L62 – Anders