如何在wpf中使用Drawingvisual?

时间:2014-06-21 06:50:57

标签: wpf drawingvisual

我有一个显示数千个点的屏幕,刷新率为10毫秒。 首先我遇到了问题,因为渲染很慢而且很紧张。 我搜索互联网的人建议我将形状转换为视觉形状,因为形状有很多事件,而且渲染很重。我将点数改为像这样的视觉效果:

public class MyVisualHost : FrameworkElement{
// Create a collection of child visual objects. 
private VisualCollection _children;

public MyVisualHost()
{
    _children = new VisualCollection(this);
    ...
}

// Provide a required override for the VisualChildrenCount property. 

protected override int VisualChildrenCount
{
    get { return _children.Count; }
}

// Provide a required override for the GetVisualChild method. 

protected override Visual GetVisualChild(int index)
{
    if (index < 0 || index >= _children.Count)
    {
        throw new ArgumentOutOfRangeException();
    }

    return _children[index];
}}

表现仍然是不可接受的。问题是形状和FrameworkElement之间的区别是什么。两者都有很多事件使得它们很难渲染。我想要一些没有事件的东西。我该怎么办?!

实际上我想将这些视觉效果添加到画布并使用canvas.setLeft和canvas.setTop为它们提供位置。如何在不继承FrameworkElement的情况下执行此操作?

0 个答案:

没有答案