问题标签 [onrender]

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 回答
858 浏览

c# - WPF - 不用于绘图的视觉树?

我无法理解何时调用 OnRender 方法。考虑我的示例:我有一个派生自 FrameworkElement 的类 SomeElement,它覆盖了 OnRender 方法。假设我有一个Grid grid. 我期望的是

将导致触发 SomeElement.OnRender 方法。在我的情况下不是这样,但以下是:

所以我的问题是为什么someElement当它单独添加到可视化树时不绘制。将其添加到属性中的重要性是什么Children?更一般地说,如何调用 OnRender?通过可视化树,或Children属性,还是?

0 投票
1 回答
286 浏览

c# - DrawGeometry 慢

我有一组使用 DrawGeometry 在我的覆盖方法 OnRender 上绘制的坐标。我试图绘制的多边形之一是 121000 点,这很多。这会减慢我的地图控制速度。

同样,当这个 OnRender 发生时,这些点已经在内存中,我只是将这些点传递给 DrawGeomerty

这是一个例子 OnRender 发生了什么

我的问题是我应该从这里采取什么方向进行优化,或者我应该尝试合并 DirectX 这会有所帮助还是我应该采取什么方法?

感谢您的帮助,我很新来渲染这么多数据。

0 投票
2 回答
2690 浏览

wpf - 试图在 WPF 窗口中绘制一个椭圆,但它不可见

我正在尝试创建自己的图形用户控件,我已经在处理 win 表单,并且正在尝试将其移至 WPF 世界。

我从学习如何绘制开始,所以我首先尝试绘制一个填充整个窗口的黑色椭圆,只是为了了解坐标在 WPF 中的工作原理。

所以这里是代码,当我运行应用程序时,什么都没有显示,知道我错过了什么吗?

0 投票
1 回答
1132 浏览

c# - 线在启动时不显示,但在调整大小时可见(WPF)

我有一个 WPF 应用程序,其中仅在调整应用程序窗口大小时才显示线条形状,如下所示:

红线是即时绘制的,它没有在 XAML 中定义。它显示正常。

蓝线是在 XAML 中定义的,但它的尺寸在OnRender()调用中发生了变化。如果其尺寸未更改,或者仅更改了部分尺寸,则在启动时会显示蓝线。但是当蓝线的所有尺寸都改变时,它不会在启动时显示。它仅在应用程序调整大小时显示。

这是 XAML 代码:

以及 C# 代码隐藏文件:

整个项目的 zip 文件在这里(项目中的代码很少,我已将其修剪到演示问题所需的绝对最小值):

https://anonfiles.com/file/18c6edce296927b43ed0b0d595574a80

我尝试了各种对UpdateLayout()and的调用组合InvalidateVisual(),但没有效果。为什么会发生这种情况,是否有解决方法?我的最终目标是能够为蓝线设置动画以使其闪烁。

我使用的是 Windows 7、Visual Studio 10、.NET 4.0 客户端配置文件。

0 投票
1 回答
363 浏览

c++ - C++/cli override OnRender Event wpf

i try to bring a wpf "fire" (http://www.smartypantscoding.com/content/old-school-fire-algorithm-modern-day-wpf) Example to c++/cli. I translated it with a tool to c++/cli, but the overriden "OnRender" Event never get fired. So i see the Window like in the c# Project but without fire.

CompositionTarget_Rendering get called, and so normally InvalidateVisual() must fire the OnRender, but it doesn't. I hope u can help me =)

and the .cpp

Initcode:

//MyWindow is a Window^ created from this Code:

0 投票
2 回答
622 浏览

c# - OnRender 方法不显示厚度设置为 WPF 中的依赖项属性的 Rectangle

我定义了两个UserControls

  • 绘图:包含一个CustomCanvas派生自Canvas.
  • 控件:包含一个Button和用于改变GlobalThickness属性MyViewModel.cs

CustomCanvas有一个名为 的自定义依赖属性ThicknessGlobalThickness这在 XAML 中是绑定的。

我还重写了绘制 a的OnRender方法,使用它的厚度设置为.CustomCanvasRectanglePenThickness

当我单击 时ButtonGlobalThickness更改和Thickness绑定到它的 也发生了变化。但我没有得到Rectangle一个新的Thickness

到目前为止,这是我整理的所有代码。

0 投票
1 回答
174 浏览

c# - Windows Phone 中的 OnRender 等效项

我想为 Windows Phone 实现我自己的控件。问题是,我想自己绘制它 - 在常规 WPF 中,我只需重写OnRender方法并提供我自己的实现。OnRender但是, Windows Phone 上没有可用的方法。我还有什么其他选择?

在我的情况下不能接受的是:

  • 在背景中绘制位图并显示它
  • 使用矢量形状而不是光栅图
0 投票
2 回答
1004 浏览

c# - WPF OnRender 不起作用

我编写了一个从 FrameworkElement 派生类并覆盖其 OnRender 方法的控件。在这个方法中,通过向 drawingContext.DrawLine 方法提供一个 AnimationClock 实例,有一个 DrawLine 动画。

如果只有几行,它工作得很好,如果有数百行,它就不再工作了。AffectsRender 和 InvalideVisual() 方法也不起作用,它不能调用 OnRender 方法。如果有中等数量的行,它就不起作用,但如果我调整窗口大小,它就起作用了!而且我发现,如果我更改 DependencyProperty(具有 AffectsRender 标志)并同时添加新的视觉效果,无论窗口中有多少行,它都可以工作。

我查阅了一些文章,说 WPF 是保留图形,而 OnRender 方法是由 WPF 本身调用的。WPF 决定何时需要调用 OnRender。如何告诉 WPF 调用 OnRender?

以下是代码:

0 投票
1 回答
266 浏览

meteor - Meteor onRendered 不适用于 IronRouter

我的咖啡脚本

我的玉模板

问题是当我使用 ironRouter (Router.go, pathFor) 转到此页面时,onRendered 将在渲染之前运行。

0 投票
1 回答
715 浏览

javascript - Meteor:图像上的 onRendered 事件可能吗?

我想检查图像是否已完全加载。所以我在onRendered带有图像的模板上使用:

模板

帮手

事件

我现在的问题是这是否真的有效?onRendered是在图像加载时触发还是仅在加载 html 时触发?

我的目标是在图像完全加载后使用加载动画淡出叠加层。用户应该在(!)图像加载之后看到页面的内容。