加载后如何将项目添加到 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);
}
项目在 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);
}