Fluent Navigation
The use of fluent API's and declartive syntax is gaining popularity. There is a lot to be said for this as it becomes very clear about what we might expect.
Using the Fluent API¶
navService.Navigate("ViewA")
.WithParameter("message", "Hello World")
.Catch(e =>
{
// Equivalent to catch(Exception e)
})
.Catch<ArgumentNullException>(e =>
{
// Equivalent to catch(ArgumentNullException e)
})
.ExecuteAsync();
Note
When using the Fluent API, ExecuteAsync returns a Task<bool>
and not a Task<INavigationResult>
. It is important that if you want to do something with an exception returned by the INavigationResult in the underlying API, you must provide a Catch to handle it in the Fluent API.