Loose XAML, XBAPs & Hyperlink Images

As Mark Alaczar points out in his WPF sandbox whitepaper, sandboxed top level navigation requires user initiation. Some definitions to help this make sense: Top level navigation: Navigations that target the hosting web browser. For instance, navigating the entire browser, or a specific HTML <iframe>, to http://netfx3.com. User initiated: Direct result of an explicit user action. In the case of top level navigation, this is most likely the user clicking on a hyperlink. “Programmatic”, on the other hand, is the direct result of a dev action, like NavigationService.Navigate(…). In this version of WPF, top level navigations in sandboxed apps require …

Linked Resource Dictionaries in Loose XAML

Something cool that I didn’t know “just worked” – linked resource dictionaries in Loose XAML! In this sample: dictionary.xaml contains a ResourceDictionary page.xaml just links to dictionary.xaml. See how it looks when you navigate to page.xaml. (And don’t forget to click on the fishies!) Page.xaml: <Page   xmlns=”http://schemas.microsoft.com/winfx/2006/xaml/presentation”   xmlns:x=”http://schemas.microsoft.com/winfx/2006/xaml”>    <Page.Resources>        <ResourceDictionary Source=”dictionary.xaml”/>    </Page.Resources>        <Button Style=”{StaticResource BigFish}”>            <Button Style=”{StaticResource SmallFish}”/>        </Button> </Page> BTW, you might have seen these styles before… They come from the WPF Feature Montage originally given by Fil Fortes at Mix06 & updated by Rob Relyea for TechEd

Updated Samples for June CTP

FYI: I’ve posted June CTP versions of most of my samples: Woodgrove XBAP XBAP: On Demand & ClickOnce Cube Animation XBAP using VS Flexible Template Photostore: Standalone & XBAP. (TechEd Chalktalk demo) Get the June CTP drops here: .NET Framework 3.0 Windows SDK Orcas Tools for .NET 3.0

XBAPs: OnDemand & ClickOnce

If your XBAP has some “heft” to it (large resource files, large assemblies, etc), it may make sense to architect your app to use ClickOnce’s OnDemand APIs. OnDemand APIs enable developers to delay download parts of the application. This can result in a friendlier end-user UX. Note: OnDemand files can be traditional resource files (e.g. images, xml files, etc) or assemblies. Architecture Tips & Tricks Got satellite assemblies or large resource files? Slim down your primary EXE to the bare minimum needed to start the app. Then, when the XBAP is launched, only the application manifest, deployment manifest, and primary …

Caching & XBAPs

When relying on resources living on a server, you can increase client app perf & decrease network traffic by storing local versions. When trying to build a sandboxed XBAP, however, you cannot create your own local cache store in the file system beyond the space available in isolated storage (512KB). Fortunately, WPF resource loading uses System.NET’s HttpWebRequest and its “Default” caching policy. In addition, depending on your resources’ sizes and your scenario, it may make sense to use a non-default caching policy when issuing your own HttpWebRequest. This post aims to give you a little bit of caching context, an …

Woodgrove Demo

At the TechEd chalktalk that Ashish and I tag teamed earlier this week, I demo-ed the Woodgrove Financial Application as an XBAP. I also showed loose XAML and an embedded FlowDocument inside of an HTML. loose XAML with vector graphics (link) Woodgrove financial app w/ 3D chart as xbap (link) html page with FlowDocument in IFRAME (link) Try try out the app. The last scenario (FlowDocument in HTML) is particularly compelling: You can leverage your existing site. If you have your article content in XML, it’s easy to create another XSLT transform to XAML. Your content continues to be viewable …

PhotoStore – XBAP & Standalone

In a chalktalk yesterday, I demo-ed a modified PhotoStore application (you may have seen this demo at last year’s PDC or played with it in the Hands on Labs). In this version, you can display images bundled with the app as well as those located in your “My Pictures” directory.  This works fine as standalone app because it runs in full trust.  However, the sandboxed XBAP does NOT have FileIOPermission, and so fails with a SecurityException. To make both XBAP & Standalone work with the same code base, I demoed the compile switching, runtime switching, and XAML switching tips I wrote about last week.  You can get code here.  Or …

.NET Framework 3.0 & Dev Community Site

WinFX has officially been rebranded .NET Framework 3.0. Also, the offical “.NET Framework 3.0” Developer Community site has just launched! There are sub-community sites for Windows Presentation Foundationa> , Windows Communication Foundation, and Windows Workflow Foundation  as well as Windows CardSpace (formerly InfoCard).

WPF @ TechEd

We’ve got a great presence at TechEd Boston. some of the WPF product team members