VisualCollection.Add(Visual) 方法

定義

Visual 附加至 VisualCollection 的結尾。

public:
 int Add(System::Windows::Media::Visual ^ visual);
public int Add (System.Windows.Media.Visual visual);
member this.Add : System.Windows.Media.Visual -> int
Public Function Add (visual As Visual) As Integer

參數

visual
Visual

要附加到 VisualVisualCollection

傳回

在集合中加入 visual 之處的索引。

例外狀況

如果 ArgumentException 是根項目,則會擲回 Visual

範例

下列範例示範如何建立 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 範例進行點擊測試

備註

Visual加入允許其值 null 且不會引發例外狀況的 。

方法 Add 也會設定父視覺效果之間的父子關聯性,也就是 的擁有者 VisualCollection ,以及子 visual 系 。

如果您需要對自訂類別之視覺子物件的基礎儲存實作進行更高的低階控制,請考慮使用 AddVisualChildRemoveVisualChild 方法。 當您使用這些方法時,必須定義自己的儲存體實作,而且不使用 VisualCollection

適用於