developing network visualization tools using wpf 5...developing network visualization tools using...

13
11 th International Workshop on Electric Power Control Centers EPCC 2011 Developing Network Visualization Tools Using WPF Felipe Kober PowerSysLab - Brazil

Upload: others

Post on 11-Apr-2020

27 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Developing Network Visualization Tools Using WPF 5...Developing Network Visualization Tools Using WPF 1. What is WPF? 2. Why WPF? 3. Examples 4. Conclusions DESIGN XAML (eXtensible

11th International Workshop on Electric Power Control Centers EPCC 2011

Developing Network Visualization Tools Using WPF

Felipe KoberPowerSysLab - Brazil

Page 2: Developing Network Visualization Tools Using WPF 5...Developing Network Visualization Tools Using WPF 1. What is WPF? 2. Why WPF? 3. Examples 4. Conclusions DESIGN XAML (eXtensible

Developing Network Visualization Tools Using WPF

1. What is WPF?

2. Why WPF?

3. Examples

4. Conclusions

Page 3: Developing Network Visualization Tools Using WPF 5...Developing Network Visualization Tools Using WPF 1. What is WPF? 2. Why WPF? 3. Examples 4. Conclusions DESIGN XAML (eXtensible

Developing Network Visualization Tools Using WPF

1. What is WPF?

2. Why WPF?

3. Examples

4. Conclusions

Windows Presentation Foundation Part of .NET Framework Graphical subsystem for 2D and 3D Windows based user

interfaces Alternative for traditional technologies (GDI, Open GL…)

Page 4: Developing Network Visualization Tools Using WPF 5...Developing Network Visualization Tools Using WPF 1. What is WPF? 2. Why WPF? 3. Examples 4. Conclusions DESIGN XAML (eXtensible

Developing Network Visualization Tools Using WPF

1. What is WPF?

2. Why WPF?

3. Examples

4. Conclusions

DESIGN

XAML(eXtensible Application Markup Language)

XML-based language Defines UI elements, data biding

and events Dedicated design tools

Microsoft Expression Blend

IMPLEMENTATION

C#, VB

Defines the business logic of the application

Dedicated development tools

Microsoft Visual Studio

Page 5: Developing Network Visualization Tools Using WPF 5...Developing Network Visualization Tools Using WPF 1. What is WPF? 2. Why WPF? 3. Examples 4. Conclusions DESIGN XAML (eXtensible

Developing Network Visualization Tools Using WPF

1. What is WPF?

2. Why WPF?

3. Examples

4. Conclusions

Rendering

Vector-based Device Independent Unit

Page 6: Developing Network Visualization Tools Using WPF 5...Developing Network Visualization Tools Using WPF 1. What is WPF? 2. Why WPF? 3. Examples 4. Conclusions DESIGN XAML (eXtensible

Developing Network Visualization Tools Using WPF

1. What is WPF?

2. Why WPF?

3. Examples

4. Conclusions

Data Binding

Establishes a connection between the application UI and business logic. Target elements automatically reflect changes on source elements data

and vice-versa. Less code needed.

Page 7: Developing Network Visualization Tools Using WPF 5...Developing Network Visualization Tools Using WPF 1. What is WPF? 2. Why WPF? 3. Examples 4. Conclusions DESIGN XAML (eXtensible

Developing Network Visualization Tools Using WPF

1. What is WPF?

2. Why WPF?

3. Examples

4. Conclusions

Data BindingBackground Colors

XPowerCADCtrl

…+ BackColorTop : Color+ BackColorBottom : Color...

WPF UI element (Canvas)

C# class

<Canvas.Background>

<LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">

<GradientStop Color="{Binding ElementName=XPowerCADCtrl, Path=BackColorTop}" Offset="0.0"/>

<GradientStop Color="{Binding ElementName=XPowerCADCtrl, Path=BackColorBottom}" Offset="1.0"/>

</LinearGradientBrush>

</Canvas.Background>

XAML code

Page 8: Developing Network Visualization Tools Using WPF 5...Developing Network Visualization Tools Using WPF 1. What is WPF? 2. Why WPF? 3. Examples 4. Conclusions DESIGN XAML (eXtensible

Developing Network Visualization Tools Using WPF

1. What is WPF?

2. Why WPF?

3. Examples

4. Conclusions

Data BindingVoltage Layers

Template

List View

One-line diagram

VoltageLayer

…+ Voltage: double+ Color: Color+ Visible: bool...

C# class

Page 9: Developing Network Visualization Tools Using WPF 5...Developing Network Visualization Tools Using WPF 1. What is WPF? 2. Why WPF? 3. Examples 4. Conclusions DESIGN XAML (eXtensible

Developing Network Visualization Tools Using WPF

1. What is WPF?

2. Why WPF?

3. Examples

4. Conclusions

Data BindingVoltage Layers

XAML code

Page 10: Developing Network Visualization Tools Using WPF 5...Developing Network Visualization Tools Using WPF 1. What is WPF? 2. Why WPF? 3. Examples 4. Conclusions DESIGN XAML (eXtensible

Developing Network Visualization Tools Using WPF

1. What is WPF?

2. Why WPF?

3. Examples

4. Conclusions

Industrial PlantSystem View

Substation View

Page 11: Developing Network Visualization Tools Using WPF 5...Developing Network Visualization Tools Using WPF 1. What is WPF? 2. Why WPF? 3. Examples 4. Conclusions DESIGN XAML (eXtensible

Developing Network Visualization Tools Using WPF

1. What is WPF?

2. Why WPF?

3. Examples

4. Conclusions

DistributionGeographic View

Schematic View

Page 12: Developing Network Visualization Tools Using WPF 5...Developing Network Visualization Tools Using WPF 1. What is WPF? 2. Why WPF? 3. Examples 4. Conclusions DESIGN XAML (eXtensible

Developing Network Visualization Tools Using WPF

1. What is WPF?

2. Why WPF?

3. Examples

4. Conclusions Consistent programming modelRendering engineOverall development cost and time reduced

• Less code• Design X Implementation• Less maintenance effort

Page 13: Developing Network Visualization Tools Using WPF 5...Developing Network Visualization Tools Using WPF 1. What is WPF? 2. Why WPF? 3. Examples 4. Conclusions DESIGN XAML (eXtensible

THANK YOU

<INFO name=“Felipe Kober” email=“[email protected]”/>