Essential WPF

Browse by Tags

All Tags » WPF (RSS)
WPF 4 Session
Thank you for participating my WPF 4 and Blend 3 session at Microsoft, Ranana, Jan-21. You can download the presentation and demo files from SkyDrive .
WPF Smart Client SDP Session at Sela
Thanks to all of you who participated in my WPF Smart Client session today at Sela. Hope that you enjoyed the session. As I promised, here is a link to the presentation and demo application written in the class: SkyDrive .
SDP – WPF 4, MVVM, MEF and Friends
Tomorrow, as part of the SDP conference, I’m having a whole day session dedicated to WPF 4 and LOB applications. What’s in there for you: Short intro to WPF Goodies in WPF 4 Building a Smart Client using WPF 4 Developing Composite Applications using Prism 2 In addition to all of this great stuff, Bnaya Eshet , my colleague at Sela will talk about MEF and how it’s related to WPF and LOB application. I’ll be more than happy to see you there.
Windows Presentation Foundation 4 Plumbing and Internals
In this session we saw the inside scoop on how Windows Presentation Foundation (WPF) powers all its rich services – like layout, databinding, and animation. There is a lot of heavy lifting done for you under the hood; in this session, we crack open these system components, including the trees (visual, logical, and inheritance), the property system and its change notification, and a few of the routing systems that all messages go through. Bring your hard-hat for this one! WPF Involves lots of interacting...
Session - Advanced WPF Application Performance Tuning and Analysis
In this great WPF performance session, Bart De Smet and Eric Harding have talked about WPF performance and demonstrates some of the performance tools the WPF team uses. One of the important things to do regards performance is to start measure early. Perceived performance, make it feel fast, turn it to an art and not a science. There would be trade offs – CPU versus memory, etc. Memory New WPF application called FishBowl has been announced. It’s a small application dealing with facebook as a case...
Session - How Microsoft Visual Studio 2010 Was Built with WPF 4
Paul Harrington talked about the new WPF UI of Visual Studio 2010, the start page and many other designers, displaying the Visual Studio 2010 WPF visual tree using Snoop. Architectural reason is one of the reasons Visual Studio 2010 has been reprogrammed to use WPF 4.0. Separated presentation and support for long range road map. He also explained that VS 2010 features really need it: Editors, Architect designer editor, Parallel tools, Workflow designer and more Another reason is to make it easy to...
Blend Behaviors via Attached Properties – Part 3
Recall my previous post, I’ve talked about how to implement custom Actions. In this post I would like to explain how to implement custom Triggers. As you may already know, trigger is the cause and action is the effect of that cause. The question is, why would you like to implement a custom trigger? So lets start with a little example: Blend 3 comes with only event triggers. But what if you want to invoke an action when property changes? For that reason you would like to implement a custom trigger...
Blend Behaviors via Attached Properties – Part 2
In my previous post I’ve talked about Blend 3 attached behaviors, and explained how to use them. In this post I would like to dive into more details, explaining the differences between Triggers, Actions and Behaviors types and how to create custom triggers. Triggers and Actions Actually blend 3 attached behavior comes in two flavors: Triggers and Actions Behaviors You can think of triggers and actions as cause-and-effect relationships. Trigger represents the cause. For example we want to do something...
Blend Behaviors via Attached Properties – Part 1
Up until Blend 3, UI designers had difficult time prototyping a real functional UI. The main problem was the lack of behaviors. Creating a UI prototype that deals with navigation, window creation on event, animation on data changes etc, usually ends up with source code development. And when it comes to coding, UI designers had to have kind of developer colleague. XAML Tools Over time, developers (like me :) created many XAML extensions using both XAML Markup Extensions and the powerful Attached Property...
<howto> Start Animation on Model property changed </howto>
Lately I’m teaching UI designers to work with WPF, and one of my students asked me how to start an animation when model’s property changes, and this was my answer: If the animated element is part of a DataTemplate, use DataTrigger to monitor data changes and to start the animation. But if you don’t have a DataTemplate or the animated element is not part of the DataTemplate, create a Style for that element, and use a simple DataTrigger within. < Style x : Key ="PathStyle" TargetType ...
Composite UI Infrastructure Review by Microsoft, Redmond
We’ve just returned back from our Composite UI Infrastructure architecture review by who else but the Prism creators, the Microsoft P&P team, and we’ve also discussed on several WPF issues we’ve got with the WPF team. I have such a great time meeting with David Hill, Blaine Wastell, Julian Dominguez, Rob Relyea, Mike Hillberg, Anson Tsao, Varsha Mahadevan and Jaime Rodriguez. I want to thank each and every one of you personally! Special thanks to Lior Rozner from Microsoft Israel for leading...
UI Virtualization vs. Data Virtualization (Part 2)
Introduction In part 1 I’ve talked about the UI Virtualization concept in WPF, and explained how it is differs from Data Virtualization concept. In this post I would like to share with you a unique solution for Data Virtualization implementation in WPF. Recall from the previous post, Data Virtualization implementation raises several problems, and there is no out-of-the-box solution for Data Virtualization in WPF. First problem: How do we fake scrollbars, so the user will think that it has all the...
WPF Performance Sweets – ContentControl (Part 2)
Part 1 Yesterday I went back to my customer, tried to figure out if the whole concept of using data as the content of a ContentControl instead of holding a logical tree, is truly contribute to the whole system, and guess what? It is not! Well it figured out that setting the content property with non-visual element only postponed the tree-traversal. We figured this out by trying to measure the total elapsed time between setting the content property to null and up until the view completely disappeared...
WPF Performance Sweets – ContentControl.Content = null
Part 2 Background Yesterday I came back from my customers’ place. He had performance issues with his WPF composite application. Each time he navigates away from a page, he pays about 1400ms! – Playing around we’d found that each time a page was changed, the composite framework he uses replaces the old page with the new page by simply updating the ContentControl.Content (placeholder) with the new page. This operation solely took about 800ms! placeholder.Content = newPage; In this post I would like...
UI Virtualization vs. Data Virtualization (Part 1)
Part 2 Being an LOB, composite applications infrastructure junky lately, I’ve been working around with several data-binding models and mechanisms to bind the data with the view, in a very efficient way of course. Sometime it was easy, and sometime it was not! I have had to find several workarounds to overcome both architectural and performance issues. In this post I would like to concentrate on Data Virtualization, and to compare it with UI Virtualization, which are very similar, yet different aspects...
More Posts Next page »