问题标签 [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.

0 投票
1 回答
314 浏览

wpf - 为什么 LayoutTransform 在旋转时不改变顶点坐标 (x1,y1)

我有一个包含形状(路径)的画布,我在布局变换中将角度与旋转变换绑定。

当鼠标悬停在形状上(由我的路径生成)时,我在画布上生成 MouseRightButtonUp,然后右键单击我使用布局变换旋转 90 度。

但它的行为类似于渲染变换,因为我绑定的 canvas.left 和 canvas.top 在鼠标右键单击形状旋转后不会更新/更改,而角度会改变。我的代码在这里:

在视图模型中调用的旋转方法是:

为什么 Canvas.Left 和 Canvas.Top 即使在改变角度改变形状的位置后也不会更新?(假设矩形A(x1,y1) B(x2,y2) , c(x3,y3) D(x4,y4)在旋转 90 度后必须是A(x2,y2) B(x3,y3) , c(x4,y4) D(x1,y1) 为什么我的模型中 Canvas.Left 和 Canvas.Top 永远不会更新?

这种行为在 Rendertransform 中是预期的,但为什么在这种情况下 LayoutTransform 表现得像 Rendertransform 因为我使用了 LayOutTranform

0 投票
0 回答
454 浏览

wpf - WPF Path.RenderTransform 数据绑定

我可以简单地使用以下方法绑定一个矩形 RotateTransform。直接在网格中绘制。

使用 Path 不会发生绑定。如果我对内联角度进行硬编码,它可以正常工作。这是在画布内的网格中绘制的。

我虽然可能是某种转换器问题,但 Rectangle 和 Path 都是 Shape 对象。我知道 LineGeometry 是一个几何对象。因此,我需要进行类型转换吗?如果是这样,将不胜感激样本或指针。

0 投票
0 回答
227 浏览

c# - WPF Canvas 在 ScaleTransform 后停止重绘

我们正在使用 WPF 画布及时显示酒店房间的地图。

可以使用滚动条移动它,这是由该画布的 TranslateTransform 完成的。甚至可以缩放它,这是通过画布的 ScaleTransform 完成的。用户可以在该地图中选择一个块,通常通过以下方式完成:

但是在 Canvas 转换时似乎存在一个错误,因为它停止渲染在转换后添加的新内容(例如,块选择)。我知道新内容确实添加到画布中,因为当用户将比例设置回 1(无比例)时,它突然可见。该问题在比例 < 1 时可见,可能是当画布要绘制更多对象时。

在这种转换的情况下,我试图通过 ArrangeOverride 或 UpdateLayout 强制画布重绘,但这无济于事。

那么有谁知道发生了什么以及如何解决它?非常感谢您的帮助。

谢谢你。

编辑:

我在 GitHub 上准备了一个 MCVE: https ://github.com/kanovsky/CanvasTest

当我有这个例子时,我证实了我的猜想,即当画布中有很多元素时会出现错误,因此 ScaleTransform 没有问题。

整个控件基于这篇文章: https ://www.codeproject.com/Articles/31661/Much-Faster-Silverlight-Scrolling

在 Silverlight 中工作没有问题,最近被转移到 WPF,出现了这个错误。

0 投票
0 回答
326 浏览

c# - 使用 MatrixTransform Translate 居中

我要做的就是myObject在我UserControl使用的方法中间居中,我MatrixTransform用于缩放和旋转。

.xaml

。CS

0 投票
0 回答
46 浏览

uwp - UWP 尝试将 RenderTransform 应用于 FileOpenPicker 和 FileSavePicker

我的 UWP 应用可以旋转 180 度(它是为水平触摸屏设计的)。

我发现我可以旋转应用程序中的几乎所有内容,例如控件/框架元素等,使用这样的代码......

我发现这也会旋转 Tooltips 和 ContentDialogs(尽管在显示旋转之前,对话框会出现一瞬间未旋转)。

但我现在遇到了障碍......

UWP 文件选取器对话框没有任何 RenderTransform 属性。所以我不能旋转文件选择器。

有什么解决办法吗?

我假设我尝试滚动自己的选择器没有任何意义,因为我只能使用 UWP 选择器访问各种文件和文件夹。

0 投票
3 回答
459 浏览

uwp - UWP 网格行高在内容缩放变换后未更新

我有一个包含 2 行(标题和内容)的控件。当指针进入或存在时,内容上有一个 ScaleY 变换,但似乎具有高度 Auto 的行在内容缩放到 0 时不会折叠高度。

我制作了一个小示例应用程序来显示问题。 样本

为什么网格不更新。

0 投票
1 回答
105 浏览

wpf - WPF 调整画布大小在调度程序中不起作用

我正在尝试使用以下代码但在调度程序中调整画布的大小。它似乎不起作用我错过了什么吗?

0 投票
1 回答
153 浏览

uwp - 如何在 UWP 中旋转 Textblock 后获得正确的宽度和高度

我需要在旋转后获取 TextBlock 的自动大小。下面是我在 RenderTransform 的帮助下将 TextBlock 旋转 90 度的代码,但它占用的空间比旋转后所需的空间多。

在 WPF 中,借助 LayoutTransform,我可以正确获取文本块的自动大小(高度和宽度)。但在 UWP 中,LayoutTranform 不可用。

如何在 UWP 中旋转后获得正确的 Textblock 高度和宽度?

问候,肖比卡。

0 投票
0 回答
520 浏览

c# - 将翻译转换应用于图像 C#

我正在尝试使用鼠标右键移动图像,使用 a MatrixTransform(我正在使用MatrixTransform,因为我也在缩放图像)。

这是我的Xaml代码:

在我的ViewModel

}

当我执行以下操作时,图像确实移动(平移)但非常模糊,就像图像在移动时“碰撞”一样。

我也尝试使用 a TransformGroup,将其MatrixTransform作为第一个孩子进行缩放,将其作为TranslateTransform第二个孩子进行移动,但是当我做了一个小动作时,图像就成了界限。

我错过了什么?

0 投票
1 回答
421 浏览

c# - UWP:如何为 RenderTranform 设置动画并保持其可用?

我有一个非常简单的项目,我需要为元素的 RenderTransform 设置动画,然后进一步操作这种变换。

请在此处找到 MVCE 作为参考:https ://github.com/cghersi/UWPExamples/tree/master/RenderTransformAnimation 。

场景如下:有一个ScrollViewer m_scrollView,有一个Canvas内容m_zoomView。为了这个例子,我们还有一个CompositeTransform m_zoomViewTransform = m_zoomView.RenderTransform.

我使用以下方法来操作 RenderTransform,无论有没有动画:

现在,如果我使用SetEffectiveOffsetOfScrollView()with isAnimated = true,我将无法再更改RenderTransform,或者至少我不再看到 UI 有任何更新。

在 MVCE 中,我添加了一个使用 调用该SetEffectiveOffsetOfScrollView()方法的按钮isAnimated = true,并添加了一个 Manipulation 事件来平移m_zoomView Canvas: 一旦单击该按钮,我就无法再平移Canvas.

如何使用SetEffectiveOffsetOfScrollView()with为转换设置动画,仍然能够在此操作后看到 UI 的更新animate=false