问题标签 [rendertransform]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 如何逐步将 Image TranslateTranform 应用于图像(跳几个像素)
我目前在我的应用程序中通过代码在图像上使用 TranslateTransform 并且它工作正常。
但我希望图像逐步移动,假设每次移动跳跃 10 或 20 像素。有没有办法做到这一点。这给运动带来了复古的味道。
我在想类似 TranslateTransform.Step = 10;
c# - UWP - 更改 MatrixTransform 的矩阵不会导致变换的更改
我想使用它的 RenderTransform 设置元素的缩放和偏移。
为此,以下代码有效:
但后来我想通过避免每次重新创建 MatrixTransform 来提高我的性能,因为我只需要设置它的值。
所以我提出了以下代码:
不幸的是,当我点击else
分支时,Matrix 属性没有更新!即 elem.RenderTransform 保持与方法开始时相同的值。
是否可以只更改矩阵而无需每次重新创建 MatrixTransform?
如果是,我该怎么办?
wpf - 动画用户控件
我在一个我的两个上使用 Blend 制作了一个不透明动画UserControls
,已删除<UserControl.Resources>
,<UserControl.Triggers>
然后Storyboard.TargetName
将其放入其中App.xaml
,它看起来像:
当我在设置Content
my之前用这样的代码调用它时ContentControl
:
它按预期工作。TransformGroup
对于变换动画,除了上面的那些,我也删除了,现在它看起来像:
如果我以同样的方式调用它,我会收到此错误:
如何解决问题?
wpf - 同时在同一个 ContentControl 上为两个 UserControl 设置动画
我有这些Load
和Unload
动画App.xaml
:
在我的代码中,我在 Button Clicks 上调用它们,如下所示:
GetTG
返回一个TransformGroup
只有这些Load
动画作品。如何使两者同时工作?
wpf - WPF画布缩放鼠标位置
我正在使用 Canvas 作为 ItemPanel 的 ItemsControl。尝试根据其他问题的答案实现缩放行为。
复制所需的最少代码应该是这样。
主窗口.xaml
DesignerSheetView 代码隐藏:
以及修改后的 ZoomBehavior
}
我认为 ZoomBehavior 应该没问题,我没有改变太多。问题出在 xaml 中。我观察到很多事情,为此我在这里寻求解决方案:
- 如果我使用 RenderTransform 模式,缩放会按预期发生在鼠标位置。问题是,背景没有填满容器/窗口。
- 如果我使用 LayoutTransform 模式,背景会填充窗口,但缩放不会发生在鼠标位置。变换原点位于 (0,0)。
- 无论我选择哪种变换模式,都不会激活 ScrollBar-s。
关于 SO 的大多数问题都始于提问者试图通过布局转换解决缩放问题。几乎所有答案都使用 RenderTransform 而不是 LayoutTrasform (例如this、this和this)。没有一个答案提供解释,为什么 RenderTransform 比 LayoutTransform 更适合该任务。这是因为 LayoutTransform 也需要更改 Canvas 的位置吗?
为了使 RenderTransform 工作(背景填充整个容器并出现 ScrollBars),我应该更改什么?
c# - 如何使 UIElement 的位置变换持久化?
在寻找在 WPF 中拖动 UIElement 的方法时,我遇到了一些代码并一直在尝试使用它。单击元素时,它会很好地跟随鼠标,但在随后的拖动事件中,元素会将自身重置为其原始位置。
xaml 设置:非常简单,只是一个具有最原始名称的命名 Canvas 和元素,在本例中是一个名为 Tile1 的网格。
一些代码隐藏:
在原始示例中(在此处添加参考)甚至没有使用 MouseUpEvent。没有它,我的元素只会在每次 MouseDragEvent 时重置为其原始位置 0,0。有了它,它会到处乱跳。
我的思路是以某种方式将元素的当前位置设置为 MouseUpEvent 发生的位置。我一直在摆弄不同的东西,因为这些特殊的东西对我来说相当新。示例是:Tile1.TransformToAncestor(Canvas).Transform(mouseLocation);
我还发现 VisualOffset 具有我需要的信息,因此在重置之前它已经以某种方式存储在对象上,但我还没有找到以任何形式访问它的方法。
Tile1.SetValue(VisualOffset.X = ...);
或者Tile1Grid.GetValue(VisualOffset);
所以基本上,有没有办法让元素在 RenderTransform 之后不重置其位置?
wpf - 停止动画而不重置到开始位置 wpf
我在按钮样式中有以下内容,用于刷新按钮 - 当用户将鼠标悬停在按钮上时,其上的图像(在本例中为圆形箭头)旋转:
当用户将鼠标从按钮上移开时,它会停止旋转,这很好,但它也会在零旋转时恢复到其原始位置(用户单击按钮时也会发生同样的情况)。在样式中是否有任何方法可以更改行为,使其停止旋转并保持新的旋转方向,无论是当用户将鼠标移开还是单击按钮时,它都会在第二个 RenderTransform 中向下转换两个点?
如果用户再次将鼠标悬停在按钮上,动画应该从停止的地方开始。
我知道这是一件非常小的事情,但它是一个不会消失的小问题,每次我使用这个模板时,我都会再次尝试解决问题,但没有成功。我忍不住想我错过了什么。我发现的所有相关问题都与动画根本没有停止有关,这对我没有帮助 - 缩小搜索范围已被证明非常困难。