이미 몇 가지 질문이 있지만 어떻게해야 할 지 모르겠지만 새 창을 열려고하는 버튼이 있습니다. 순수한 xaml에서 이것을합니까? 내 CodeBehind 또는 ViewModel에서 호출하지 않고 대화 상자를 열 수있는 방법을 모르겠다. 나는 이것을 위해 어떤 mvvm 툴킷도 사용하지 않고있다.버튼 클릭으로 MVVM보기를 엽니 다.
답변
이 같이 할 수있는 ....
당신은 <x:Code>
를 사용할 수 있습니다
<Button Content="OK" Click="Button_Click"/>
<x:Code>
private void Button_Click(object sender,RoutedEventArgs e)
{
MessageBox.Show("Hello");
}
</x:Code>
표준 방법이 commands을하다 할 수 있습니다.
하지만 명령을 사용하면 내 ViewModel에서이를 만들어야하고, 새 창을 표시해야하므로 MVVM을 깨뜨릴 수 있습니다. –
이것은 여전히 효과적으로 코드 뒤에 있으며 xaml쪽으로 이동합니다. .. –
나는 MVC 프레임 워크를 사용하지 않았기 때문에 최후에 코드가 마음에 들지는 않았지만 가장 간단한 해결책이었다. –
내 CodeBehind 또는 ViewModel에서 호출하지 않고도 대화 상자를 열 수있는 방법을 알 수 없습니다.
일반적으로 코드에서이를 수행하지만 대부분의 MVVM 프레임 워크는이를 추상화하는 방법을 제공합니다.
이것은 일반적으로 어떤 형태의 서비스 위치를 통해 처리됩니다 (예 : ViewService 또는 유사한 것을 ViewModel에 주입). 다른 옵션은 MVVM Light의 접근 방식 인 일부 형식의 메시징을 사용하는 것입니다.
이러한 접근법의 장점은 VM에 대한 지식 없이도 VM을 작성할 수 있다는 것입니다. 코드를 작성하는 방식을 변경하면 (ViewModel의) 명령이 일부 이벤트를 트리거하고 올바른 보기가 열립니다. 이렇게하면 VM 계층에서 View 종속성이 유지됩니다.
- 1. 더블 클릭으로 이맥스에 파일을 직접 엽니 다.
- 2. Jquery에서 각 툴팁에 대한 클릭으로 div를 엽니 다.
- 3. 버튼 클릭으로 활동 만들기
- 4. SmsManager를 엽니 다
- 5. UIButton을 엽니 다. .mobileconfig
- 6. webview에서 팝업창을 엽니 다.
- 7. XmlWriter는 요소를 엽니 다.
- 8. cscript.exe가 창을 엽니 다.
- 9. 그래프 다이어그램을 엽니 다
- 10. RadGrid의 PageIndex를 엽니 다.
- 11. UIWebView가로드시 Safari를 엽니 다.
- 12. 클릭하여 div를 엽니 다.
- 13. 문자열의 colorbox를 엽니 다.
- 14. tabbarcontroller보기를 엽니 다
- 15. 새 ViewController를 엽니 다.
- 16. WPF 응용 프로그램 디렉토리가있는 Windows 탐색기를 엽니 다.
- 17. top.location을 설정하고 새 탭을 엽니 다?
- 18. 버튼 클릭으로 이미지 저장
- 19. 버튼 클릭으로 다음 레벨로드하기
- 20. 버튼 클릭으로 매장을로드하는 방법
- 21. 이미지 링크 대신 버튼 클래스 텍스트에서 Fancybox를 엽니 다.
- 22. html에서 선택한 배경색으로 새 창을 엽니 다.
- 23. codebehind에서 jQuery Dialog를 엽니 다.
- 24. NetBeans로 파일을 드래그하여 엽니 다.
- 25. 브라우저에서 단어 문서를 엽니 다
- 26. C# - DotNetZip을 MemoryStream에서 엽니 다.
- 27. 런타임에 usercontrol을 엽니 다 (WPF?
- 28. UIButton으로 다른 앱을 엽니 다.
- 29. 닫기 TCP 연결을 엽니 다.
- 30. Superfish에서 "onInit"옵션을 엽니 다.
새 창은 팝업 창 또는 완전 독립형 비 모달 창입니까? – sll