title: Perform action after user contol on tab page is visible
body: <p>In my MVVM app I have a tab control with a couple of tabs.  Whenever a tab is selected, a user control on that tab page gets loaded, and in that user control's constructor, a call is made that takes a little time to complete.</p>
  
  <p>I want to change it so that the call is made after the user control is loaded and visible to the user.  I tried the IsVisibleChanged event, but it returns Visible=true before I actually see the control, almost once I click the tab.</p>
  
  <p>Is there a way I can make the call only after the control is done loading and visible on the screen to the user?</p>
  
  <p><strong>Update:</strong>
  Some more info The call right now is an async call. The issue seems to be that after the asycn call is done, the dataSource of a grid on the user control is updated and that takes a second or so. As a result, it looks like it takes a second or so to switch tabs, when what really happening is the grid being loaded with some data. That's why I was looking for a way to start the request which triggers the eventual data load only after the tab switch is completed and the user control is visible</p>