Presentation is loading. Please wait.

Presentation is loading. Please wait.

Composite Applications with WPF and PRISM 4.0 Eyal Vardi CEO E4D Solutions LTD Microsoft MVP Visual C# blog: www.eVardi.com.

Similar presentations


Presentation on theme: "Composite Applications with WPF and PRISM 4.0 Eyal Vardi CEO E4D Solutions LTD Microsoft MVP Visual C# blog: www.eVardi.com."— Presentation transcript:

1 Composite Applications with WPF and PRISM 4.0 Eyal Vardi CEO E4D Solutions LTD Microsoft MVP Visual C# blog: www.eVardi.com

2 About ConsultingMentoringProjects

3 Agenda How to build Composite application? ModularityModularity ProductivityProductivity ExtensibilityExtensibility SecuritySecurity CommunicationCommunication DeploymentDeployment Multi-LanguageMulti-Language

4 Outlook Sample

5 Shell & Region == Master Page Ribbon App Nav App’s BodyPane Status Bar

6 DEMO Shell & Region

7 View-Based Navigation _container.RegisterType ("ViewName"); _regionManager.RequestNavigate( "RegionName", new Uri( "ViewName", UriKind.Relative) ); _container.RegisterType ("ViewName"); _regionManager.RequestNavigate( "RegionName", new Uri( "ViewName", UriKind.Relative) ); public interface INavigationAware { void OnNavigatedTo(NavigationContext navigationContext); bool IsNavigationTarget(NavigationContext navigationContext); void OnNavigatedFrom(NavigationContext navigationContext); } public interface INavigationAware { void OnNavigatedTo(NavigationContext navigationContext); bool IsNavigationTarget(NavigationContext navigationContext); void OnNavigatedFrom(NavigationContext navigationContext); }

8

9 DEMO Navigation

10 Event Aggregator Publisher / Subscriber Publisher Publisher Subscriber Subscriber

11 DEMO Event Aggregator

12 Visual State Manager (VSM) Data States Communication States SecurityStatesSecurityStates

13 Visual State Manager (VSM) State Transition State Groups

14 DEMO Visual State Manager

15 State-Based Navigation <DataStateBehavior Binding="{Binding IsChecked, ElementName= ShowAsListButton}" TrueState="ShowAsList" FalseState="ShowAsIcons"/> <DataStateBehavior Binding="{Binding IsChecked, ElementName= ShowAsListButton}" TrueState="ShowAsList" FalseState="ShowAsIcons"/>

16 [TemplateVisualState(Name="Normal", GroupName="CommonStates")] [TemplateVisualState(Name="MouseOver", GroupName="CommonStates")] [TemplateVisualState(Name="Pressed", GroupName="CommonStates")] public class NumericUpDown : Control } { [TemplateVisualState(Name="Normal", GroupName="CommonStates")] [TemplateVisualState(Name="MouseOver", GroupName="CommonStates")] [TemplateVisualState(Name="Pressed", GroupName="CommonStates")] public class NumericUpDown : Control } { Initiating State Changes The authors is responsible for telling VisualStateManager when a visual state change should occur. private void GoToState(bool useTransitions) } if (isPressed) VisualStateManager.GoToState(this, "Pressed", useTransitions); else if (isMouseOver) VisualStateManager.GoToState(this, "MouseOver", useTransitions); else VisualStateManager.GoToState(this, "Normal“, useTransitions); { private void GoToState(bool useTransitions) } if (isPressed) VisualStateManager.GoToState(this, "Pressed", useTransitions); else if (isMouseOver) VisualStateManager.GoToState(this, "MouseOver", useTransitions); else VisualStateManager.GoToState(this, "Normal“, useTransitions); {

17 Behaviors & Actions are Everywhere ConditionalConditional MotionMotion DataData AnimationAnimation

18 XAMLAdd-onXAMLAdd-on Attached property Drag & Drop Behavior is a…

19 DEMO Behaviors & Actions

20 SHSH PP PP CommunicationWCF Event Aggregator Interfaces Communication Module

21 Summary Keep the client thin. Defined your visual state with VSM. Use Behaviors & Actions for RAD. Use the Prism for modularity.

22 QUESTIONS?

23 Eyal Vardi CEO E4D Solutions LTD Microsoft MVP Visual C# blog: www.eVardi.com


Download ppt "Composite Applications with WPF and PRISM 4.0 Eyal Vardi CEO E4D Solutions LTD Microsoft MVP Visual C# blog: www.eVardi.com."

Similar presentations


Ads by Google