WPF를 사용 중이며 MVVM을 따르려고합니다. 그래서 내 모델을 속성으로 가진 VM이 있습니다. 모델에는 명령을 구현하는 model1의 목록 인 속성이 있습니다. ViewModel로 명령을 옮기고 싶지 않아보기에 액세스 할 수있는 이유는 목록에 얼마나 많은 요소가 있는지 알 수 없기 때문에 명령에 액세스 할 수 있는지 확인하기 위해서입니다. model1. 이 명령도 일부 처리를 수행하며이 처리 중에 명령에 바인딩 된 단추를 숨기는 창을 숨기려고합니다. 어떻게해야합니까? 어디를 봐야합니까?WPF에서 명령을 사용하여 명령을 보내는 창을 숨기려면 어떻게해야합니까?
0
A
답변
1
이 경우, ViewModel에 명령이 있고 매개 변수를 사용하는 것이 가장 좋습니다. 그렇게하면 사용자가 수정하려고하는 항목이 전달됩니다. 당신이 ItemsControl
그래서 만약 : 당신의 ViewModel에서
<ItemsControl ItemsSource="{Binding MyItems}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Button Content="{Binding Name, StringFormat=Push {0}}"
Command="{Binding DataContext.ItemPushedCommand, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}"
CommandParameter="{Binding}" />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
을, 당신은 (당신이 당신이 편안 명령대로 사용할 수 있습니다, 내가 prism에서 DelegateCommand을 사용하고 있습니다)과 같이 명령을 정의하는 것입니다 :
private readonly DelegateCommand<Model> itemPushedCommand;
public ICommand ItemPushedCommand { get { return itemPushedCommand; } }
public MyViewModel()
{
itemPushedCommand = new DelegateCommand<Model>(OnItemPushed);
}
private void OnItemPushed(Model item)
{
// your item has been pushed!
}
관련 문제
- 1. 명령을 보내는 명령을 중지하려면
- 2. Wpf에서 단추의 명령을 하위 컨트롤로 보내려면 어떻게해야합니까?
- 3. Filesystem.CopyDirectory 창을 숨기려면 어떻게해야합니까?
- 4. 콘솔 창을 숨기려면 어떻게해야합니까?
- 5. WPF에서 명령을 바인딩하는 방법
- 6. 퍼티에 명령을 보내는 방법
- 7. wpf에서 시스템 명령을 전달하는 방법
- 8. wpf에서 창을로드 할 때 명령을 실행하는 방법
- 9. openips에서 MI 명령을 사용하여 메시지를 보내는 방법
- 10. ServiceStack을 사용하여 명령을 보내는 방법은 무엇입니까?
- 11. 터미널 창을 열고 명령을 실행하십시오.
- 12. GPIB 장비에 명령을 보내는 Python
- 13. 안드로이드에서 AT 명령을 보내는 방법?
- 14. VIM. 터미널에 명령을 보내는 중?
- 15. RS-422A 명령을 보내는 방법
- 16. WPF에서 컨트롤 템플릿의 명령을 부모의 속성에 바인딩하려면 어떻게해야합니까?
- 17. 앱 선택 창을 숨기려면 어떻게해야하나요?
- 18. 내 앱용 콘솔 창을 숨기려면 어떻게해야합니까?
- 19. grep 명령을 사용하여 꼬리 -1 명령을 시뮬레이트합니다.
- 20. in 명령을 사용하여 SQL보기 명령을 작성하십시오.
- 21. 서브 프로세스에 새로운 명령을 보내는 방법
- 22. ANT가 터미널 창을 열고 명령을 실행 했습니까?
- 23. wpf에서 tabcontrols로 단추의 명령을 변경하는 방법
- 24. PRISM/MEF/WPF에서 항목 컬렉션에서 명령을 호출
- 25. WPF에서 별칭 명령을 사용할 수 있습니까?
- 26. 유닉스 컬 명령을 사용하여 Confluence에 업로드하려면 어떻게해야합니까?
- 27. 스핑크스를 사용하여 클릭 명령을 문서화하려면 어떻게해야합니까?
- 28. PHP를 사용하여 svn export 명령을 작성하려면 어떻게해야합니까?
- 29. 셸 명령을 사용하여 MapReduce를 구현하려면 어떻게해야합니까?
- 30. VBA를 사용하여 셸 명령을 실행하려면 어떻게해야합니까?
그리고 OnItemPushed 내부에서 항목의 루틴을 호출 할 수 있습니다. 귀하의 답변을 주셔서 감사합니다, 내가 찾고 있던 것입니다. – Andrei