如何更改交互触发器的数据上下文

How to change data context of Interaction Trigger

我有一个带有交互触发器的文本框 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>

你必须像这样绑定到相对源

<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>