VisualCollection 类

定义

表示 Visual 对象的有序集合。

public ref class VisualCollection sealed : System::Collections::ICollection
public sealed class VisualCollection : System.Collections.ICollection
type VisualCollection = class
    interface ICollection
    interface IEnumerable
Public NotInheritable Class VisualCollection
Implements ICollection
继承
VisualCollection
实现

示例

以下示例演示如何创建 并 VisualCollection 向其添加成员。

// Create a host visual derived from the FrameworkElement class.
// This class provides layout, event handling, and container support for
// the child visual objects.
public class MyVisualHost : FrameworkElement
{
    // Create a collection of child visual objects.
    private VisualCollection _children;

    public MyVisualHost()
    {
        _children = new VisualCollection(this);
        _children.Add(CreateDrawingVisualRectangle());
        _children.Add(CreateDrawingVisualText());
        _children.Add(CreateDrawingVisualEllipses());

        // Add the event handler for MouseLeftButtonUp.
        this.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(MyVisualHost_MouseLeftButtonUp);
    }
' Create a host visual derived from the FrameworkElement class.
' This class provides layout, event handling, and container support for
' the child visual objects.
Public Class MyVisualHost
    Inherits FrameworkElement
    ' Create a collection of child visual objects.
    Private _children As VisualCollection

    Public Sub New()
        _children = New VisualCollection(Me)
        _children.Add(CreateDrawingVisualRectangle())
        _children.Add(CreateDrawingVisualText())
        _children.Add(CreateDrawingVisualEllipses())

        ' Add the event handler for MouseLeftButtonUp.
        AddHandler MouseLeftButtonUp, AddressOf MyVisualHost_MouseLeftButtonUp
    End Sub

注意

有关完整示例,请参阅 使用 DrawingVisuals 示例进行命中测试

注解

具有 VisualCollection 隐含的上下文相关性。 如果过程尝试从与拥有 ContainerVisual的上下文不同的上下文访问 VisualCollection ,则会引发异常。

构造函数

VisualCollection(Visual)

初始化 VisualCollection 类的新实例。

属性

Capacity

获取或设置 VisualCollection 可包含的元素数。

Count

获取集合中的元素数。

IsReadOnly

获取一个值,该值指示 VisualCollection 是否为只读。

IsSynchronized

获取一个值,该值指示是否同步对 VisualCollection 的访问(线程安全)。

Item[Int32]

获取或设置 Visual,它存储在 VisualCollection 的从零开始的索引处。

SyncRoot

获取可用于同步对 VisualCollection 的访问的对象。

方法

Add(Visual)

Visual 追加到 VisualCollection 的末尾。

Clear()

VisualCollection 中移除所有元素。

Contains(Visual)

返回一个 Boolean 值,该值指示集合中是否包含指定的 Visual

CopyTo(Array, Int32)

从特定的数组索引开始,将集合中的项复制到数组中。

CopyTo(Visual[], Int32)

将当前集合复制到传递的 Visual 数组中。

Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
GetEnumerator()

检索可循环访问 VisualCollection 的枚举数。

GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
IndexOf(Visual)

返回 Visual 的从零开始的索引。

Insert(Int32, Visual)

将元素插入 VisualCollection 的指定索引处。

MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
Remove(Visual)

Visual 中移除指定的 VisualCollection 对象。

RemoveAt(Int32)

VisualCollection 中指定的索引处移除可视对象。

RemoveRange(Int32, Int32)

VisualCollection 中移除一系列可视对象。

ToString()

返回表示当前对象的字符串。

(继承自 Object)

显式接口实现

IEnumerable.GetEnumerator()

此成员支持 WPF 基础结构,不应直接从代码使用。 有关此成员的说明,请参见 GetEnumerator()

扩展方法

Cast<TResult>(IEnumerable)

IEnumerable 的元素强制转换为指定的类型。

OfType<TResult>(IEnumerable)

根据指定类型筛选 IEnumerable 的元素。

AsParallel(IEnumerable)

启用查询的并行化。

AsQueryable(IEnumerable)

IEnumerable 转换为 IQueryable

适用于