我刚刚开始使用MVVM,并一直在阅读并做一些示例。我设法创建了一个应用程序,它将从数据库中读取数据,然后填充到列表框中。我很难尝试将所选项链接到另一个视图,然后在该视图viewModel中执行一些处理。请有人向我解释从view1列表框中获取当前选定项目然后在view2标签上输出所选项目的正确方法?在视图模型之间传递数据的正确方法是什么?
这是我的XAML:
<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");}
}
我想以某种方式获得viewModel2获得博士的新值(这是该项目在view1列表框中选择)然后在view2上我想显示一些细节
在此先感谢!
感谢您的代码!我设法找到了另一种方法,我创建了一个“datacontext”对象,然后设置了我的SecondView DataContext = datacontext。但你的方式更容易,现在我清楚如何在视图和视图模型之间传输数据。感谢Mil! – BeginnerCoder