【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分くらい無駄に…。
Author And Source
この問題について(【C#】WPFでUserControlのLoadedイベントに対してEventTriggerが起動しない), 我々は、より多くの情報をここで見つけました https://qiita.com/mag04/items/0b35064b968e509e03a7著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .