저는 MVVM을 시작했습니다. 저는 그것에 대해 읽고 몇 가지 예를 들었습니다. 필자는 데이터베이스에서 읽은 다음 목록 상자에 채울 응용 프로그램을 만들었습니다. 선택한 항목을 다른보기에 연결 한 다음 viewModel보기에서 약간의 처리를 수행하는 데 어려움이 있습니다. 누군가가 view1 목록 상자에서 선택한 항목을 가져온 다음 올바른 항목을 출력하기 위해 view2 레이블에 올바른 방법을 설명해 주시겠습니까?뷰 모델간에 데이터를 전달하는 올바른 방법은 무엇입니까?
<local:SecondView Margin="499,30,0,20">
<local:SecondView.DataContext>
<v:MainViewModel />
</local:SecondView.DataContext>
</local:SecondView>
<Button Height="22" HorizontalAlignment="Left" Margin="8,4,0,0" Name="button1" VerticalAlignment="Top" Width="48" Command="{Binding Path=GetDataCommand}">Button</Button>
<ListBox ItemsSource="{Binding Path=FileData}" SelectedItem="{Binding dr}" Height="330" HorizontalAlignment="Left" Margin="149,30,0,0" Name="listBox1" VerticalAlignment="Top" Width="250" DisplayMemberPath="DDFName" />
이 코드 조각 내 viewModel1에 있습니다 :
private DataRowView _dr;
public DataRowView dr
{
get{
return _dr;
}
set
{
_dr = value;
OnPropertyChanged("dr");}
}
어떻게 든 항목 인 (DR의 새 값을 얻을 수 viewModel2를 얻으려면 여기
내 XAML입니다 view1 목록 상자에서 선택한 다음) view2에 일부 내용을 표시하고 싶습니다미리 감사드립니다!
코드를 보내 주셔서 감사합니다! 나는 "datacontext"인 객체를 생성 한 다음 SecondView DataContext = datacontext를 설정하는 다른 방법을 찾을 수있었습니다. 그러나 당신의 방법은 더 쉬우 며, 이제 view와 viewModels간에 데이터를 전송하는 방법에 대해 분명합니다. 고마워. – BeginnerCoder