TranslateZoomRotateBehavior

TranslateZoomRotateBehavior

我已将 TranslateZoomRotateBehavior 附加到网格:

<Grid>
    <!--all sorts of content-->
    <Button Content="Cancel" Click="CancelButton_Click Width="25" Height="20"/>
    <i:Interaction.Behaviors>
        <ei:TranslateZoomRotateBehavior ConstrainToParentBounds="True" SupportedGestures="Translate"/>
    </i:Interaction.Behaviors>
</Grid>

在 CancelButton_Click 事件处理程序中,我想重置 TranslateZoomRotateBehavior 以将 Grid 及其内容返回到其原始位置。有谁知道这是否可能?

最佳答案

如果您命名要在其上重置行为集合的网格。

<Grid x:Name="grid1">

您可以使用以下代码获取行为列表
var b = System.Windows.Interactivity.Interaction.GetBehaviors(grid1)

然后,您可以随意使用它们,如果您想将它们全部删除 .Clear() 如果您只想重置值但保留 TranslateZoomRotateBehavior,您可以使用它访问它
TranslateZoomRotateBehavior targetBehavior = (TranslateZoomRotateBehavior)b[0];
targetBehavior.ConstrainToParentBounds = true;
targetBehavior.SupportedGestures = ....

关于wpf - 重置 TranslateZoomRotateBehavior? (WPF/混合行为),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3707301/

10-11 06:55