从Window View Model绑定到用户Control ViewModel属性

时间:2015-05-31 11:23:07

标签: wpf mvvm

如何从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>

0 个答案:

没有答案