1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

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

Last updated at Posted at 2020-09-29

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分くらい無駄に…。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?