Table of Contents

Interface IShell

Namespace
The.WPF.Shell
Assembly
Instagile.WPF.dll

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

sidebar ISidebarController

CreateSurface(IServices)

Create one of whatever the application considers a 'screen'

ISurface CreateSurface(IServices services)

Parameters

services IServices

Returns

ISurface

DestroySurface(ISurface)

Initiate a closing process for a non-global screen

void DestroySurface(ISurface surface)

Parameters

surface ISurface

GetGlobalSurface(IServices)

Retrieve a singleton 'global' screen for contextless UI

ISurface GetGlobalSurface(IServices services)

Parameters

services IServices

Returns

ISurface

ReloadSurface(ISurface, Func<Task>)

Initiate a reload process (caller-defined) for a non-global screen

void ReloadSurface(ISurface surface, Func<Task> reload)

Parameters

surface ISurface
reload Func<Task>

RemoveSidebar(ISidebarController)

void RemoveSidebar(ISidebarController sidebar)

Parameters

sidebar ISidebarController

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

services IServices

Returns

Task