저는 처음으로 WPF 및 XAML을 탐색 중이며 아직 이해할 수없는 부분이 많습니다. 난 내 자신의 프로젝트를 만든 http://www.codeproject.com/KB/WPF/AvalonDockMVVM.aspxCommandBinding을 해결할 수 없습니다.
및 AvalonDockMVVM에서 코드를 추가하려고 오전 :
나는이를 통해 일하고 있어요.
현재 메뉴를 구성하려고합니다. MainWindow.xaml에서
는, 내가 추가 한 :
<Window.Resources>
<RoutedUICommand x:Key="Commands.Exit" />
</Window.Resources>
<Window.CommandBindings>
<CommandBinding Command="{StaticResource Commands.Exit}" Executed="Exit_Executed" />
</Window.CommandBindings>
<DockPanel>
<Menu DockPanel.Dock="Top">
<MenuItem Header="_File">
<MenuItem Header="_Exit" Command="{StaticResource Commands.Exit}" />
</MenuItem>
</Menu>
...
</DockPanel>
아이디어는 하나의 "종료"옵션 메뉴를 구성하는 것입니다.
이제 내가 말했듯이, 나는 내가하는 일을 거의 알지 못합니다. 그러나 나는 <RoutedUICommand>이 명령을 만들고있는 것처럼 보입니다. <CommandBinding>은 코드 숨김의 ExitExecuted() 메서드에 바인딩하고, <MenuItem>은 해당 메뉴 항목을 선택할 때 그 명령에 묶여있는 것이 무엇이든지.
AvalonDockMVVM 프로젝트에서 모두 정상적으로 작동합니다. 광산에서 {StaticResource Commands.Exit}에 오류가 있습니다 : Commands.Exit 리소스를 확인할 수 없습니다.
XAML의 <RoutedUICommand> 요소 외에 Commands.Exit를 정의하는 코드 또는 구성의 어딘가에 있다고 생각합니다. 하지만 내 인생에서 나는 그것을 발견 할 수 없다.
명령을 통해 메뉴에 메서드를 바인딩하기 위해 내가해야 할 다른 것이 있습니까?
나는 더 많은 코드를 추가했습니다. 정확하게 말해서 MainWindowViewModel을 추가했습니다. 이제이 문제가 해결됩니다. 어느 날 나를 혼란스럽게 만든다. 보기 모델에는 이탈과 관련이 없습니다. –