다른 자체 정의보기를 표시하는 WPF 창이 있습니다. 지금까지 MVVM에 관해 배운 모든 것을 사용할 수있었습니다.여러보기를 여러보기 모델에 바인딩
이제 새로운 "문제"가 생겼습니다. 동일한보기의 10 개 항목을 더 크게 볼 수 있습니다. 이 10 개의 뷰 엔티티는 일련의 컨트롤 (텍스트 상자, 콤보 상자 등)을 포함하지만 모두 일관성이 있습니다.
그렇다면이 뷰를 ViewModel에 어떻게 바인딩합니까?
"상위 레벨"ViewModel에서 ViewModel의 인스턴스가 10 개 있다고 생각하고 뷰에 VM의 인스턴스를 datacontext로 수정 정의했습니다.
내 질문보기 -> 여러 (동일한)보기를 자신의보기 모델에 바인딩하는 것이 더 쉽거나 (더 convienient 한) 방법이 있습니까?
코드 - 예 :
보기 모델 :
private PanelViewModel _panelViewModel1 = new PanelViewModel();
public PanelViewModel PanelVM1
{
get { return _panelViewModel1; }
}
보기 - 예 :
<myControls:vwPanel HorizontalAlignment="Left" x:Name="vwPanel1"
VerticalAlignment="Top" DataContext="{Binding Path=PanelVM1}"/>
날 귀찮게 무슨 내가 열 전망이 논리 10 번을해야한다는 것입니다 ?
UPDATE : 몇 가지 질문에 대답하려면 : 내가 UserControl에서 상속하여 내 자신의 뷰를 정의 하나 개의보기를 (내 예) 10 배를 보여주고 싶어요. 따라서 vwPanel
은 UserControl
에서 상속됩니다. 10 개의 vwPanel은 Grid 안의 StackPanel 안에 배치됩니다.
데이터를 표시하는 것이 아니기 때문에 목록보기 또는 데이터 격자를 시작하는 것이 좋습니다./
UPDATE2 : 내가 바라는 것은 ViewModels 목록을 정의하고 내 10 개의 뷰를이 목록 중 하나에 바인딩하는 것과 같습니다. 그러나 이것은 효과가 없을 것입니까? 적어도 나는 XAML 중에서 목록에있는 하나의 "특별한"entitiy을 참조하는 방법을 모르겠다. ...
큰보기의 열 개의보기가 특별히 정의되어 있습니까? 즉, List를 만들고 해당 List를 IEnumerable의 ViewModel에 바인드하여 표시 할 수없는 이유가 무엇입니까? – Tim
@Tim 올바른 순서로 출력하고 출력하려면 올바른 순서로 입력해야합니다. 특수하게 정의하지 않아도 가능합니까? – basti