【C#】WPFでUserControlのLoadedイベントに対してEventTriggerが起動しない


UserControlの初期表示時に1度だけ実行したい処理があったので
EventTrigger経由でLoadedイベントを発行しようと思ったのに
実行されなかった。

記述は以下のような感じで特に問題無さそう。

    <i:Interaction.Triggers>
        <i:EventTrigger EventName="Loaded">
            <i:InvokeCommandAction Command="{Binding GetItemCommand}" />
        </i:EventTrigger>
    </i:Interaction.Triggers>

で、色々調べた結果としてオチはシンプルな話だった。

        public HogeView()
        {
            InitializeComponent();
            _vm = new HogeViewModel();
            DataContext = _vm;
        }

InitializeComponent実行後にDataContextを設定していたので
画面初期設定時には関連付けされたコマンドが無いので実行されないというオチ。

        public HogeView()
        {
            _vm = new HogeViewModel();
            DataContext = _vm;
            InitializeComponent();
        }

DataContext設定後に初期化するようにすればいけた。
30分くらい無駄に…。