问题标签 [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 回答
256 浏览

c# - SciChart:如何使用 RenderTransform 移动图表?

我正在尝试移动代表时间提前的垂直线。

这是此垂直线创建的代码:

XAML:

该行在后面的代码中初始化如下(C#):

这是我使用 RenderTransform 进行测试以移动时间线的代码:

问题是这条线根本不动。我究竟做错了什么?提前致谢。

0 投票
1 回答
2423 浏览

wpf - 从 System.Windows.Shapes.Path 获取 ScaleTransform 和 RotateTransform

我试图从解析 XAML 节点的代码中获取RotateTransform值(度)和ScaleTransform ,在本例中为 System.Windows.Shapes.Path。

使用RenderTransform,我得到一个矩阵值,我无法从中获得角度和 scaleX。

我怎样才能得到这些信息?

谢谢

0 投票
0 回答
133 浏览

c# - WPF:在“溢出”内容被切断后应用 RenderTransform

我有一个带有这个网格的控件:

此 XAML 所做的是,当它被放置在 Width >= PaneCtrl.MAX_NO_SCALE_WIDTH 的容器中时,它会以原始大小显示按钮,但是当它被放置在宽度 < PaneCtrl.MAX_NO_SCALE_WIDTH 的容器中时,它会缩小按钮。

我想在代码中达到相同的效果。不要问我为什么——解释起来需要很长时间。

所以我删除了 ViewBox 和其他使它发生的元素,留下了这个 XAML:

然后我添加了调整大小事件处理程序:

我看到的是它的行为方式类似,但是当容器宽度太小以至于原始大小的一些按钮会被切掉(未显示)时,它们在我缩放 StackPanel 后也不会显示,即使应该现在有足够的空间来展示它们。

所以很自然我的问题是为什么?

可能是因为 WPF 首先确定它们需要隐藏,然后引发 SizeChanged 事件,允许我缩放它们,之后不会“重新排列”它们。

我应该挂钩一个不同的事件还是应该调用一些东西来强制 WPF“重新安排”或什么?

0 投票
2 回答
399 浏览

wpf - 如何在 WPF 中的 scaletransform 动画期间和之后阻止元素重叠?

我有一个 ListBox,其中的项目具有RenderTransform基于Style.Triggers情节提要动画的属性的项目,包括x 1.5和的比例变换y 1.5。结果是可怕的,我正在寻找一种方法来让项目停止重叠,如下图所示。

ListBoxItems 占据的区域上可怕的动画效果。

0 投票
0 回答
213 浏览

wpf - FrameworkElement(在 ViewBox 内)的渲染大小已更改

在 WPF 中,有没有办法检测到实际渲染大小(以屏幕单位测量)是否发生了变化?

我有包含渲染位图的元素。如果这些元素放置在 Viewbox(或其他处理 RenderTransforms 的控件)中,我想在屏幕上以实际大小呈现位图,以便不进行插值。

主要思想是我想将 UI 的一些复杂部分放在位图中,否则(在保留模式下绘制时)会降低渲染帧速率和 UI 响应性,使应用程序难以使用。作为副作用,我想在这些控件内以恒定的厚度绘制线条,即使是缩放的。

一种方法是在每个渲染通道(或在某个给定的时间间隔内)检查屏幕上的大小,如果它改变则重绘位图。但是,我想知道是否有内置的方法可以实现这一点。

0 投票
2 回答
2112 浏览

wpf - WPF 旋转图像并对齐

我有一个图像组件,我想在其中旋转源:

ImageTarget从代码中设置了来源。

在转换(RenderTransformOrigin 和 RotateTransform)之前,我的窗口是这样的:

在此处输入图像描述

但是在旋转之后:

在此处输入图像描述

因此,如您所见,宽度和高度发生了变化。

所以我的问题是:

  • 为什么尺寸变了?
  • 如何对齐左上角的旋转图像(和以前一样)?

谢谢

编辑:大小没有改变,我用不同的大小截取了两个不同的屏幕截图,stackoverflow 会自动调整它们的大小。

0 投票
0 回答
314 浏览

wpf - 在设计时隐藏或读取子 WPF 控件的继承 DependencyProperty

有可能以某种方式隐藏(从设计器属性窗格)自定义画布的子控件上的预先存在的依赖属性,或者修改它们的元数据,或者使它们只读?

.

以下是有关我要完成的工作的详细信息

我正在编写一个类似 WPF Canvas 的控件,该控件具有自定义规则来放置、调整大小和旋转它的子项。

示例 #1:

Horizo​​ntalAlignmentProperty 在普通画布中没有任何意义,但其子级仍将其显示在其属性窗格上 - 它一直从 FrameworkElement 继承。这让使用我的画布的人感到困惑,因为有些布局属性看起来有问题,因为它们在那里但不起作用。

更改某些继承属性的默认值也很好。

.

示例 #2:

要旋转子控件,我需要像这样设置它们的 RenderTransformProperty:

如果有人出于任何原因设置或重置 RenderTranformProperty,我的绑定将被删除,恢复的唯一方法是关闭并重新打开设计器窗口/选项卡。

还有一个问题是设计师自己删除了我的绑定,但这是另一个问题的主题

这一切都意味着我必须告诉每个人(他们必须记住)永远不要在我的画布内触摸 RenderTranform - 否则一切都会出现故障。这很痛苦,因此最好知道如何在设计器的属性窗格中为子控件隐藏 RenderTransform,或者禁止更改它们。

0 投票
1 回答
282 浏览

c# - C# WPF RenderTransform 在 mousedown 上重置

我有这个代码的问题。当我启动程序时,标尺位于页面的中心。当 MouseDown 为真时,当我 mousemove 时,矩形(标尺)可以随意拖动。但是,这只适用于第一次拖动。下次我去拖动它时,标尺会跳回到它的原始位置,然后当你将鼠标悬停在它上面时,它会计算从它所在位置到它跳回的位置的距离,并且它会因为 mouseup 事件没有触发而跳出屏幕随着矩形移动。我基本上希望能够多次在屏幕上拖动对象,但是 XStart 和 YStart 需要在每次单击时获取新的渲染值。

我认为原因与 e.GetPosition(this).X; 因为“this”指的是作为统治者父级的网格。

我需要将 RenderTransform 提交给程序吗?还是我的逻辑有错误?

老实说,如果它根本不起作用,那会更有意义,但是一旦完美地工作,然后搞砸是没有意义的。

这是代码:

0 投票
1 回答
4044 浏览

c# - C# WPF 如何更改 RenderTransformOrigin 但保留位置?

我想知道如何在RenderTransformOrigin不更改其位置的情况下更改元素。我注意到更改RenderTransformOrigin将影响元素位置。

如何计算更改前后元素位置之间的X和值?YRenderTransformOrigin

XAML

0 投票
1 回答
918 浏览

c# - 让图像 ManipulationMode 捕获指针

在我的应用程序中,用户可以选择 anImage并将其拖到 a 上Grid,以使用它。我通过PointerEntered处理Grid. 在这里,我检测用户是否选择了图像以及用户是否按住鼠标按钮。

现在我想将 放置Image在网格上,并将(仍然按下的)指针传递给 my Image,因此Image使用它自己的ManipulationStartedManipulationDelta事件ManipulationCompleted。这应该让用户将图像从图像列表平滑地拖动到Grid,而不必释放并单击元素。

我尝试从senderin释放指针PointerEntered,并使用捕获它CapturePointer,但这似乎不起作用,即使CapturePointer返回true

这是我用于PointerEntered事件的代码:

我的操作代码在这个答案中:

https://stackoverflow.com/a/32230733/1009013