加载后如何将项目添加到 Canvas?

How can I add an item to a Canvas after it has loaded?

项目在 DragEvent 的帮助下显示在 canvas 上。

项目由 OnDrop 事件加载。但是我需要加载一些项目而不将它们拖到 canvas 上。是否有 事件参数 在 canvas 加载时自动调用??

protected override void OnDrop(DragEventArgs e)
{
    base.OnDrop(e);
    DragObject dragObject = e.Data.GetData(typeof(DragObject)) as DragObject;
    if ( dragObject != null && !String.IsNullOrEmpty(dragObject.Xaml) )
    {
        // elided
    }
}

我需要在 canvas 加载时显示项目,而无需用户拖放。

我还需要在 canvas 加载时自动显示项目。

您可以将处理程序附加到 FrameworkElement.Loaded Event:

<Canvas Loaded="YourEventHandler" ... />

...

public void YourEventHandler(object sender, RoutedEventArgs e)
{
    Canvas canvas = (Canvas)sender;
    // Add your item(s) here using canvas.Children.Add(someItem);
}