UsesPerPixelOpacity example

Lester Lobo posted an example of UsesPerPixelOpacity=true: http://blogs.msdn.com/llobo/archive/2006/02/24/538757.aspx Keep in mind you don’t need to use HwndSource — you can use the Popup class instead, which is generally more convenient since it saves you some pinvoking.

5

My favorite February CTP features

It’s out, and there’s been a lot of great work since the last major CTP.   Layered Windows is probably the big-name feature for this release, at least out of my team (see http://blogs.msdn.com/nickkramer/archive/2005/12/14/503644.aspx for details).    But we also did a ton of work on tightening the implementation of xaml to match the spec, which will do a lot…

1

property engine precedence (part 3)

Invalidation and PropertyChangedCallback Whenever something happens that causes the property engine to reevaluate properties, we say that DependencyObject/property combination has been invalidated.  Invalidations happen for a variety of reasons, including SetValue, triggers taking effect, animations ticking off, and tree changes (e.g., element added or removed from the tree).   During invalidation, the property engine will…


property engine precedence (part 2)

2.2 Expressions — Dynamic resources and data binding{Binding} and {DynamicResource} both create instances of Expression.  In a lot of ways, Expressions are just another kind of value for the WPF property engine to deal with.  You can pass them into SetValue(dp, expression), and <Setter> can specify an expression, and almost all of the base value precedence…


property engine precedence (again)

A while back I posted something about how the property engine calculates its values.  Figured I would post an update, since we’ve continued to refine the property engine, and we’ve continued to refine the documentation… Calculation is a multi-step process:Base value -> expression evaluation -> animations -> coercion -> final answer Base value precedenceFrom most…


xaml versioning and XmlnsCompatibleWithAttribute

One interesting thing you won’t find in the XPS spec I pointed to is how to declare that one assembly is a later version of another assembly.  This will be described in the formal xaml spec Rob is working on, but the quick description is you stick the XmlnsCompatibleWithAttribute on your newer assembly, eg: [XmlnsCompatibleWithAttribute(oldXmlNamespace,…


Versioning xaml

One of the things we haven’t talked a lot about is the versioning support built into xaml.  Once version 2 of WPF comes out, we want people to be able to write xaml documents that take advantage of new, V2 features while still running as best is possible on machines that only have V1.  Unlike…

1

Random migration and interop thoughts

I haven’t been real good about reposting questions that came up in private conversation, here’s some of the more interesting ones from the last month: What’s the deal with OLE and WPF?  Short answer is, we don’t have any plans for something like OLE-style in-place editing — eg menu merging, compound documents, etc. OLE continues…

1