I think what Mhosen tried to say is that you should use the
FindSingle(RxPath, Duration) method overload and specify a high (but not infinite) timeout. The
FindSingle method will return, once the element corresponding to the RanoreXPath is found, so there is no unnecessary wait time. And
FindSingle will throw an exception if the timeout is reached and the corresponding element has not been found - in case there is some network problem and the SL application does not load at all. (If you don't want an exception to be thrown, use
Find instead of
FindSingle. It will return an empty list, if the timeout is reached and no element corresponding to the path is found, yet.)
So far as I know there is currently no way to get the loading state of a Silverlight object using Ranorex. Consequently, you have to search for some element inside your SL application to measure the time it takes to load the SL application; i.e. some element that is accessible first when the SL application is fully loaded. The code for that could look like the following:
// high timeout value in case that application does not load at all
Duration timeout = 60000;
System.DateTime start = System.DateTime.Now;
ObjectTag slTag = Host.Local.FindSingle("pathToSLobjectTag");
System.DateTime intermediate = System.DateTime.Now;
Unknown slElment = slTag.FindSingle("pathToSLelementInApplication");
System.DateTime end = System.DateTime.Now;
TimeSpan timeToLoadWebPage = intermediate - start;
TimeSpan timeToLoadSLapp = end - intermediate;Hope that makes things clearer

Regards,
Alex
Ranorex Support Team