如何从Window viewModel绑定到userControl viewmodel?
我有自己的View模型的用户控件,在那个模型上我可以说SelectedStudent属性。 此用户控件在Window中作为子项放置。 Windows有自己的视图模型,其中也存在SelectedStudent属性(在selectedClass属性内)。
如何将这两个属性绑定在一起?
实施例: 机型:
public class student:INotifyPropertyChanged
{
public string Studentname{get;set;}
}
public class Class : INotifyPropertyChanged
{
public string ClassName{get;set;}
public student Student {get;set;}
}
查看模特:
public class VMClass
{
public Class selectedClass{get;set;}
...
}
public class VMStudent
{
public student selectedStudent{get;set;}
...
}
用户控制:
<UserControl Name="UCStud"...
<UserControl.Resources>
<VM:VMStudent x:Key="vmStud"/>
</UserControl.Resources>
<Grid DataContext="{StaticResource vmStud}">
<Label Text="{Binding selectedStudent.StudentName}"
</Grid>
</UserControl>
窗口:
<Window Name="MainWindow"...
<Window.Resources>
<VM:VMClass x:Key="vmClass"/>
</WindowResources>
<DockPanel>
<Label text="{Binding selectedClass.ClassName}"
<UserCtrl:UCStud ?selectedstudent?="{Binding DataContext.selectedClass.student, ElementName=MainWindow }
</DockPanel>
</Window>