问题标签 [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.
c# - WPF - 不用于绘图的视觉树?
我无法理解何时调用 OnRender 方法。考虑我的示例:我有一个派生自 FrameworkElement 的类 SomeElement,它覆盖了 OnRender 方法。假设我有一个Grid grid
. 我期望的是
将导致触发 SomeElement.OnRender 方法。在我的情况下不是这样,但以下是:
所以我的问题是为什么someElement
当它单独添加到可视化树时不绘制。将其添加到属性中的重要性是什么Children
?更一般地说,如何调用 OnRender?通过可视化树,或Children
属性,还是?
c# - DrawGeometry 慢
我有一组使用 DrawGeometry 在我的覆盖方法 OnRender 上绘制的坐标。我试图绘制的多边形之一是 121000 点,这很多。这会减慢我的地图控制速度。
同样,当这个 OnRender 发生时,这些点已经在内存中,我只是将这些点传递给 DrawGeomerty
这是一个例子 OnRender 发生了什么
我的问题是我应该从这里采取什么方向进行优化,或者我应该尝试合并 DirectX 这会有所帮助还是我应该采取什么方法?
感谢您的帮助,我很新来渲染这么多数据。
wpf - 试图在 WPF 窗口中绘制一个椭圆,但它不可见
我正在尝试创建自己的图形用户控件,我已经在处理 win 表单,并且正在尝试将其移至 WPF 世界。
我从学习如何绘制开始,所以我首先尝试绘制一个填充整个窗口的黑色椭圆,只是为了了解坐标在 WPF 中的工作原理。
所以这里是代码,当我运行应用程序时,什么都没有显示,知道我错过了什么吗?
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 客户端配置文件。
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:
c# - OnRender 方法不显示厚度设置为 WPF 中的依赖项属性的 Rectangle
我定义了两个UserControls
:
- 绘图:包含一个
CustomCanvas
派生自Canvas
. - 控件:包含一个
Button
和用于改变GlobalThickness
属性MyViewModel.cs
CustomCanvas
有一个名为 的自定义依赖属性Thickness
。GlobalThickness
这在 XAML 中是绑定的。
我还重写了绘制 a的OnRender
方法,使用它的厚度设置为.CustomCanvas
Rectangle
Pen
Thickness
当我单击 时Button
,GlobalThickness
更改和Thickness
绑定到它的 也发生了变化。但我没有得到Rectangle
一个新的Thickness
。
到目前为止,这是我整理的所有代码。
c# - Windows Phone 中的 OnRender 等效项
我想为 Windows Phone 实现我自己的控件。问题是,我想自己绘制它 - 在常规 WPF 中,我只需重写OnRender
方法并提供我自己的实现。OnRender
但是, Windows Phone 上没有可用的方法。我还有什么其他选择?
在我的情况下不能接受的是:
- 在背景中绘制位图并显示它
- 使用矢量形状而不是光栅图
c# - WPF OnRender 不起作用
我编写了一个从 FrameworkElement 派生类并覆盖其 OnRender 方法的控件。在这个方法中,通过向 drawingContext.DrawLine 方法提供一个 AnimationClock 实例,有一个 DrawLine 动画。
如果只有几行,它工作得很好,如果有数百行,它就不再工作了。AffectsRender 和 InvalideVisual() 方法也不起作用,它不能调用 OnRender 方法。如果有中等数量的行,它就不起作用,但如果我调整窗口大小,它就起作用了!而且我发现,如果我更改 DependencyProperty(具有 AffectsRender 标志)并同时添加新的视觉效果,无论窗口中有多少行,它都可以工作。
我查阅了一些文章,说 WPF 是保留图形,而 OnRender 方法是由 WPF 本身调用的。WPF 决定何时需要调用 OnRender。如何告诉 WPF 调用 OnRender?
以下是代码:
meteor - Meteor onRendered 不适用于 IronRouter
我的咖啡脚本
我的玉模板
问题是当我使用 ironRouter (Router.go, pathFor) 转到此页面时,onRendered 将在渲染之前运行。
javascript - Meteor:图像上的 onRendered 事件可能吗?
我想检查图像是否已完全加载。所以我在onRendered
带有图像的模板上使用:
模板
帮手
事件
我现在的问题是这是否真的有效?onRendered
是在图像加载时触发还是仅在加载 html 时触发?
我的目标是在图像完全加载后使用加载动画淡出叠加层。用户应该在(!)图像加载之后看到页面的内容。