wpf for powerbuilder developers l.
Skip this Video
Loading SlideShow in 5 Seconds..
WPF For PowerBuilder Developers PowerPoint Presentation
Download Presentation
WPF For PowerBuilder Developers

Loading in 2 Seconds...

play fullscreen
1 / 39

WPF For PowerBuilder Developers - PowerPoint PPT Presentation

  • Uploaded on

WPF For PowerBuilder Developers. PowerBuilder Evolving with .NET. Windows Presentation Foundation. WPF is Microsoft's next generation presentation technology Applications can have rich visual appearances 3D graphics High definition playback etc…

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'WPF For PowerBuilder Developers' - kirima

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
windows presentation foundation
Windows Presentation Foundation
  • WPF is Microsoft's next generation presentation technology
  • Applications can have rich visual appearances
    • 3D graphics
    • High definition playback
    • etc…
  • WPF uses vector-based graphics and is resolution-independent
wpf feature highlights
WPF Feature Highlights
  • Broad Integration
    • 3D graphics, video (HD), speech, rich document viewing
    • ...with one technology
  • Resolution Independence
    • Vector-based graphics render/resize to any screen resolution
  • Hardware Acceleration
    • Can take advantage of graphics card performance
  • …cont’d…
wpf feature highlights7
WPF Feature Highlights


  • Declarative Programming
    • XAML for markup
  • Rich Composition
    • Any control may “parent” another
    • Eventual functionality like…
    • …async video on each line of a DDLB!
windows presentation foundation8
Windows Presentation Foundation
  • XAML is the declarative markup language with which you may create complex WPF user interfaces
  • XAML allows separation of UI (markup) from runtime logic
  • XAML knowledge will not be required, just optional
windows presentation foundation9
Windows Presentation Foundation
  • The change is about the underlying presentation technology
    • Windows Forms applications use GDI+
    • WPF application uses DirectX technology for rendering
  • DirectX can be rendered using hardware resources
    • Performance may be improved
object models win32 winform vs wpf
Object Models: Win32 / WinForm vs. WPF
  • WPF has a different object model from Win32 and WinForm
  • We’re working to preserve the PowerBuilder model while incorporating the WPF “style”
  • Drastically reduces your learning curve for WPF
object models win32 winform vs wpf11
Object Models: Win32 / WinForm vs. WPF
  • For example, WPF controls have a “content” property
  • PowerBuilder will abstract that to the “Text” property
  • PowerBuilder will extend WPF controls

<my:WPFButton Height="23" Margin="251,0,268,84" Name=“WPFButton1" VerticalAlignment="Bottom" Text="123" />

object models win32 winform vs wpf12
Object Models: Win32 / WinForm vs. WPF
  • WPF has introduced many different new concepts:
    • Dependency Properties, Attached Properties, Commands, Routed Events
  • A design goal of PowerBuilder 12 is to hide the details of these new concepts and keep the usage similar to existing PowerBuilder
object models win32 winform vs wpf13
Object Models: Win32 / WinForm vs. WPF
  • Our goal is to provide you with a “PowerBuilder Experience” when developing WPF applications
powerbuilder 12 wpf application architecture
PowerBuilder 12WPF Application Architecture
  • Assemblies of the WPF runtime library
  • WPF DataWindow engine
  • New Managed database drivers
powerbuilder wpf window constraint on controls
PowerBuilder WPF Window:Constraint on Controls
  • Win32 and WinForm Windows could be the parent of multiple controls
  • In WPF, a Window may have only one control
  • Workaround:
    • Place a Panel, Grid or Canvas, in the Window
    • We intend to put Canvas Panels in a migrated Window by default
default panel in the powerbuilder wpf window class
Default “Panel” in the PowerBuilder WPF Window class
  • By default, a Grid panel will be put inside a Window for new WPF applications
  • Again, Canvas will be used for migrated applications
    • Approximating absolute positioning
grid vs canvas
Grid vs. Canvas
  • Grid:
    • Can take more advantage of WPF auto sizing
    • SizeToContent property is available
    • Can automatically size controls to length of text for localization/regionalization
  • Canvas:
    • Supports positioning elements with explicit coordinates
    • If we used Grid for migrated applications…position information would not be accurate enough
innercontrol property
“InnerControl” Property
  • InnerControl
    • Arguably, the most important newly-introduced WPF control property
    • Allows reference to WPF control directly in PowerScript
    • Read Only (but properties like Content are writable)
    • In theory, WPF controls may be infinitely nested within any other WPF controls (one at a time)

Cb_1.InnerControl.Content = “Some Contents”;

third party controls
Third Party Controls
  • Third party visual controls may now be used in a WYSIWYG fashion in design mode
  • Conditional code blocks are no longer required for interoperability
  • When placed on the painter, the IDE will trigger a process to create a proxy object for the control
  • The proxy will be analogous to traditional OLE/ActiveX interfaces to minimize your learning curve
new controls courtesy of wpf
New Controls Courtesy of WPF

Layouts with Panels:

  • Canvas
  • Grid
  • WrapPanel
  • StackPanel
  • DockPanel
new controls courtesy of wpf24
New Controls Courtesy of WPF

WrapPanel Variations:

new controls courtesy of wpf26
New Controls Courtesy of WPF

For the following controls, we may…

  • Create standard runtime controls


  • Support them though 3rd party controls (proxy objects)


new controls courtesy of wpf27
New Controls Courtesy of WPF

Expander (collapsible GroupBox):

new controls courtesy of wpf28
New Controls Courtesy of WPF

Expander (collapsible GroupBox):

new controls courtesy of wpf29
New Controls Courtesy of WPF


  • Built on top of Windows Media Player
  • Formats:
    • WAV
    • WMA
    • MP3
    • Etc…
new controls courtesy of wpf30
New Controls Courtesy of WPF

Document Viewer (XPS or Print Preview):

right to left support
Right-to-Left Support

FlowDirection Layout Property:

state of the datawindow
State of the DataWindow

New Features:

  • From PowerBuilder 11.5
    • New background properties
    • Support for PNG format
    • Tooltips for all control and column types
    • Rich Text Edit style
  • Support for 3rd party controls
    • May be used with a data binding mechanism in the detail band
      • Must be consistent with the column’s data type
    • Expressions are not supported
state of the datawindow35
State of the DataWindow

New Features…

  • XML DataWindow syntax
    • SRD syntax is still supported
  • Can run with limited security permissions
  • New export formats
    • Excel 2007
    • XML paper specification (XPS)
  • Nested (and Composite) DataWindows
    • Display in normal, not print preview mode


state of the datawindow36
State of the DataWindow

New Features …(cont’d)…

  • Grid style
      • Grid line color is a property
      • Enablesort supports sorting the contents on a specific column
  • Label
      • Displays in normal mode, not print preview mode
  • Managed DataSources in the new Data Source Interface
      • ADO .NET
      • Web Services
      • The classic data sources are still supported

The DataWindow will run as fully Managed Code

state of the datawindow38
State of the DataWindow

New Architecture:

  • Separation of
    • Core functionality
      • DataWindow objects
    • Presentation (rendering) functionality
      • DataWindow controls
    • Data access
      • The new Data Source Interface
wpf datawindow painter
WPF DataWindow Painter
  • WYSIWYG design surface for adding, moving, resizing, positioning of DataWindow elements
  • WYSIWYG Preview
  • Again, a familiar PowerBuilder experience
  • Support for 3rd party controls