I have a project based WPF and MVVM.
My project is based on a wizard containing a content control which shows my views (User Controls)
I want to execute a command after the view is loaded completely, I would like the user to see the view UI immediately after the command will be executed.
I tried using :
<i:Interaction.Triggers>
<i:EventTrigger EventName="Loaded">
<i:InvokeCommandAction Command="{Binding StartProgressCommand}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
But the command is executed before I see the view UI and it’s not what I’m looking for.
Does anyone have an idea how should I need to implement it?
That’s because even though technically the view is loaded (i.e: all the components are ready in memory), your app is not idle yet, and thus the UI isn’t refreshed yet.
Setting a command using interaction triggers on the
Loadedevent is already good, as there is no better event to attach to.Now to really wait until the UI is shown, do this in your
StartProgress()(I’m assuming here that this is the name of the method thatStartProgressCommandpoint to):