Getting To Know WPF
Written by Mike James   
Thursday, 26 September 2019
Article Index
Getting To Know WPF
Manual XAML
Layout
Graphics
Buttons On The Edge Of A Nervous..

 

Banner

 

Notice that the Storyboard is now slightly more complicated as we have added Acceleration and Deceleration ratios which specify how the change speeds up and slows down and we have made it repeat forever and loop back to its original state.

Once you have the basic idea of animation you can discover most of what you need to know by experimentation. For example, to make the button move diagonally when the user clicks on it, add the following between the EventTrigger.Actions tag:

<EventTrigger RoutedEvent="Button.Click">
<EventTrigger.Actions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation
Storyboard.TargetName="Button1"
Storyboard.TargetProperty="(Canvas.Left)"
From="0.0" To="125.0"
Duration="0:0:1"
AccelerationRatio="0.5"
DecelerationRatio="0.5"
RepeatBehavior="1x"
AutoReverse="True" />
<DoubleAnimation
Storyboard.TargetName="Button1"
Storyboard.TargetProperty="(Canvas.Top)"
From="0.0" To="125.0"
Duration="0:0:1"
AccelerationRatio="0.5"
DecelerationRatio="0.5"
RepeatBehavior="1x"
AutoReverse="True" />
</Storyboard>
</BeginStoryboard>
</EventTrigger.Actions>
</EventTrigger>

This moves the top and left properties and repeats the entire action just once. 

As you work with XAML it’s easy to forget that you are in fact working with a complete graphics system.

For example, all of the co-ordinates are in terms of absolute measurements rather than pixels and if the user interface is displayed on a higher resolution display device the quality increases, not the size of the text or buttons.

There are also transformations that you can apply to any rendered graphic. For example, if you add:

<Button.RenderTransform>
 <RotateTransform Angle="45" />
</Button.RenderTransform>

then the button will be drawn at 45 degrees – it still works as a standard button and even the animation functions. Animating a transformation is also possible.

 

button5

Buttons just aren’t supposed to behave like this!

 

Now that you have seen how WPF works you should be able to explore most of its facilities with the help of the documentation. It’s a powerful and unified approach to Windows graphics and you can’t afford to ignore it.

The things to keep in mind is that WPF is built on DirectX and makes use it to render all its graphics. All of the WPF controls are full graphical objects and they are only special in that they use used to respond to user input. WPF includes more sophisicated features such as animation, 3D, data binding and more. 

 

The Programmer's Guide To
WPF .NET Core

wpfcover

Contents

  1. Getting Started with WPF
  2. Getting To Know WPF 
  3. Creating Objects With XAML
  4. Inside Dependency Properties 
  5. Routed Events ***NEW
  6. Simple WPF data binding
  7. FlexGrid - A Lightweight Data Grid
  8. Using the WPF .NET 4.0 DataGrid
  9. ISupportInitialize and XAML
  10. WPF The Easy 3D Way
  11. BitmapSource: WPF Bitmaps
  12. Loading Bitmaps: DoEvents and the closure pattern
  13. Bitmap Effects
  14. Custom Bitmap Effects - Getting started
  15. Custom Bitmap Effects - HLSL
  16. Custom BitmapSource
  17. Bitmap Coding and Metatdata in WPF
  18. Custom Shape
  19. The bitmap transform classes
  20. Drawing Bitmaps – DrawingImage and DrawingVisual
  21. RenderTargetBitmap - Visual vector to bitmap
  22. WriteableBitmap
  23. BitmapImage and local files

 

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.

picobook

 



 

Comments




or email your comment to: comments@i-programmer.info

 

Banner


Using the WPF .NET 4.0 DataGrid

WPF DataGrid (.NET 4)  can be difficult to understand if you aren't used to thinking about objects and collections. This easy to follow introduction explains where the rows and columns have gone. [ ... ]



Custom Shape

Creating a custom Shape isn't difficult but it does have some hidden gotchas. We take a look at how best to do the job.



Custom Bitmap Effects - HLSL

In the article Custom Bitmap Effects - Getting started we discovered how to work with HLSL in WPF. Now we are in a position to write more sophisticated shaders and  this means learning some more  [ ... ]



Custom BitmapSource

Even if you don't anticipate implementing your own custom BitmapSource finding out how to reveals quite a lot about the way that WPF bitmaps work.



FlexGrid - A Lightweight Data Grid

There are more data grids available than the standard one that comes with WPF. In this article we take a look at FlexGrid for WPF and discover how easy it is to use.


Other Articles

 

picobook

 



 

Comments




or email your comment to: comments@i-programmer.info

<ASIN:0672329859>

<ASIN:1430210842>

<ASIN:0735619573>

<ASIN:1590599497>

 

public partial class Window1 : Window
{


Last Updated ( Thursday, 26 September 2019 )