Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SourceInitialized的WPF EventTrigger_Wpf_Events_Window_Mvvm Light - Fatal编程技术网

SourceInitialized的WPF EventTrigger

SourceInitialized的WPF EventTrigger,wpf,events,window,mvvm-light,Wpf,Events,Window,Mvvm Light,在我的窗口中,我想使用此代码 <i:Interaction.Triggers> <i:EventTrigger EventName="SourceInitialized"> <command:EventToCommand Command="{x:Static wpf:Window.InitializeWindowProcessHookCommand}" /> </i:EventTrigger> </i:Inte

在我的窗口中,我想使用此代码

<i:Interaction.Triggers>
    <i:EventTrigger EventName="SourceInitialized">
        <command:EventToCommand Command="{x:Static wpf:Window.InitializeWindowProcessHookCommand}" />
    </i:EventTrigger>
</i:Interaction.Triggers>

SourceInitialized
事件挂接到我所谓的
窗口
类上的命令。 我使用的是MvvMLight,如果我使用
Loaded
事件而不是
SourceInitialized
,它是否工作正常,那么我们可以假设命令和进一步的逻辑正在工作。 此外,使用带有代码隐藏的事件是可行的,但我正在寻找使用
EventTriggers
(如果可能)的解决方案

在查找一个可能的解决方案时,我偶然发现了一个主题,它与这个主题有关,OP points指出他成功地绑定到
Loaded
事件,但无法绑定到
SourceInitialized

[我]想为windows source InitializedEvent编写一个类似的事件,但发现
Window.SourceInitializedEvent
未公开

有什么可能的解决办法吗


非常感谢在触发器有机会调用命令之前触发
SourceInitialized
事件,因此这将无法工作

此外,仅仅为了不必从同一视图的代码后面执行,而使用XAML标记中定义的
EventTrigger
触发命令也没有多大意义。MVVM并不是要从视图中删除与视图相关的代码,它也不会破坏从中定义XAML标记的同一视图的代码中调用命令的模式

因此,从代码隐藏中的事件处理程序调用该命令或订阅另一个事件

正如您已经注意到的,无法使用在同一窗口的XAML标记中定义的
EventTrigger
来处理窗口的
SourceInitialized
事件