我已将 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/