VisualCollection.Add(Visual) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
将 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
要追加到 VisualCollection 的 Visual。
返回
在集合中添加 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
关系。
如果需要对自定义类的可视子对象的基础存储实现进行更高的低级别控制,请考虑使用 AddVisualChild 和 RemoveVisualChild 方法。 使用这些方法时,必须定义自己的存储实现,并且不要使用 VisualCollection。