1

wpf Mvvm プロジェクトに MainViewModel と OtherViewModel があります。MainWindow.Xaml で、MainViewModel をグリッドの DataContext として設定します。ただし、Grid にある TextBox コントロールの DataContext として OhterViewModel を設定したいと考えています。どうすれば実装できますか?fallows としての 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 に答える