1

我的 wpf Mvvm 项目中有一个 MainViewModel 和一个 OtherViewModel。在 MainWindow.Xaml 中,我将 MainViewModel 设置为 Grid 的 DataContext。但是,我想将 OhterViewModel 设置为 TextBox 控件的 DataContext,它位于 Grid 中。我该如何实施?xaml 代码作为休闲方式。

<Window.Resources>
    <viewModels:MainWindowViewModel x:Key="Windows1ViewModel" /> 
</Window.Resources>    
<Grid DataContext="{StaticResource Windows1ViewModel}">
   .....
    <TextBox "require to bind OtherVeiwModel here"/>
   .....
</Grid>
4

1 回答 1

2
  <Window.Resources>
     <viewModels:MainWindowViewModel x:Key="Windows1ViewModel" /> 
     <viewModels:OtherViewModel x:Key="OtherViewModel" /> 
  </Window.Resources>    

  <Grid DataContext="{StaticResource Windows1ViewModel}">
     <TextBox DataContext="{StaticResource OtherViewModel}" "require to bind OtherVeiwModel here"/>
  </Grid>

或者,您的 MainViewModel 可能会保留对您的 OtherViewModel 的引用,您可以将 TextBox 的 DataContext 绑定到该备用视图模型。

CS:

  public class MainViewModel 
  {
       public OtherViewModel OtherViewModel{get {retrurn new OtherViewModel();}}
  }

XAML:

  <TextBox DataContext="{Binding OtherViewModel, Mode=OneWay}" "require to bind OtherVeiwModel here"/>
于 2013-09-08T14:13:55.230 回答