考虑以下代码:
<DockPanel>
<i:Interaction.Triggers>
<i:EventTrigger>
<i:InvokeCommandAction Command="{Binding Path=MyCommand}" />
</i:EventTrigger>
</i:Interaction.Triggers>
…由于EventTrigger没有设置EventName属性,它将处理哪些事件?它确实在处理一些事情,因为我看到这个命令已经执行了。
发布于 2017-08-24 14:56:31
当Loaded事件发生时,将调用您的Command。
如果我们查看EventTrigger类的源代码,我们可以看到DependencyProperty EventNameProperty将Loaded作为其默认值。
public static readonly DependencyProperty EventNameProperty = DependencyProperty.Register("EventName", typeof (string), typeof (EventTrigger), (PropertyMetadata) new FrameworkPropertyMetadata((object) "Loaded", new PropertyChangedCallback(EventTrigger.OnEventNameChanged)));发布于 2017-08-24 03:28:10
这段代码会将你的命令作为DockPanel.Loaded事件触发。
https://stackoverflow.com/questions/45845836
复制相似问题