2016-08-05 4 views
0

상호 작용 트리거가있는 텍스트 상자 A가 있습니다. 텍스트 상자의 데이터 컨텍스트는 뷰 모델의 속성입니다. 그러나 ClearCommand는 뷰 모델에 정의되어 있습니다. 상호 작용 트리거 또는 해당 명령의 데이터 컨텍스트를 자체 뷰 모델로 변경할 수 있습니까?상호 작용 트리거의 데이터 컨텍스트를 변경하는 방법

<TextBox Name="TextBoxA"Text="{Binding myObject.TextPrp,UpdateSourceTrigger=PropertyChanged}"> 
      <i:Interaction.Triggers> 
       <i:EventTrigger EventName="TextChanged"> 
        <i:InvokeCommandAction Command="{Binding ClearCommand}" 
              CommandParameter="{Binding ElementName=TextBoxB,Path=Text}"></i:InvokeCommandAction> 
       </i:EventTrigger> 
      </i:Interaction.Triggers> 
     </TextBox> 

답변

1

당신이

<TextBox Name="TextBoxA"Text="{Binding myObject.TextPrp,UpdateSourceTrigger=PropertyChanged}"> 
     <i:Interaction.Triggers> 
      <i:EventTrigger EventName="TextChanged"> 
       <i:InvokeCommandAction Command="{Binding RelativeSource={RelativeSource AncestorType={x:Type YourUserControl}, Path=DataContext. ClearCommand}" 
             CommandParameter="{Binding ElementName=TextBoxB,Path=Text}"></i:InvokeCommandAction> 
      </i:EventTrigger> 
     </i:Interaction.Triggers> 
    </TextBox> 
처럼 상대 소스에 바인드 할 필요가 감사