我不清楚在xaml中订阅事件时事件的顺序是什么。我不确定原因,但我的canvas1_SizeChanged
事件首先发生,并导致空引用异常,因为尚未初始化image
,因为Loaded事件尚未发生。我可能最终只是将canvas1_SizeChanged
事件订阅移动到Loaded处理程序,但是,我仍然很好奇为什么时机就是这样。以下是我的问题代码段显示。
在xaml:
<Canvas Name="canvas1" Loaded="canvas1_Loaded" SizeChanged="canvas1_SizeChanged">
xaml.cs中的:
private Image image;
private void canvas1_Loaded(object sender, RoutedEventArgs e)
{
image = new Image();
}
private void canvas1_SizeChanged(object sender, SizeChangedEventArgs e)
{
content = image.Content;
}
答案 0 :(得分:2)
正常的范例是:
在第2步,你将接到对canvas1_SizeChanged
事件处理程序的调用。
仅在步骤4之后才调用eh canvas_Loaded
事件处理程序