Interface IShell
The application must provide exactly one of these to the framework
public interface IShell
Remarks
Non-modal screens are considered mutable; the framework might choose to alter their content for any reason at any time. This probably entails replacing a data-templated viewmodel, but the application can choose how to interpret it.
Methods
AddSidebar(ISidebarController)
void AddSidebar(ISidebarController sidebar)
Parameters
sidebarISidebarController
CreateSurface(IServices)
Create one of whatever the application considers a 'screen'
ISurface CreateSurface(IServices services)
Parameters
servicesIServices
Returns
DestroySurface(ISurface)
Initiate a closing process for a non-global screen
void DestroySurface(ISurface surface)
Parameters
surfaceISurface
GetGlobalSurface(IServices)
Retrieve a singleton 'global' screen for contextless UI
ISurface GetGlobalSurface(IServices services)
Parameters
servicesIServices
Returns
ReloadSurface(ISurface, Func<Task>)
Initiate a reload process (caller-defined) for a non-global screen
void ReloadSurface(ISurface surface, Func<Task> reload)
Parameters
RemoveSidebar(ISidebarController)
void RemoveSidebar(ISidebarController sidebar)
Parameters
sidebarISidebarController
ResourcesReady()
Called when WPF resources have been loaded, allowing initial display of UI in incomplete state
void ResourcesReady()
ServicesReady(IServices)
Called when the screen infrastructure is ready, allowing post-construction setup
Task ServicesReady(IServices services)
Parameters
servicesIServices