Mike Taulty's Blog
Bits and Bytes from Microsoft UK

Silverlight - Mike Taulty's Blog

Blogs

Mike Taulty's Blog

Elsewhere

  • MIX10 – Day 1

    To say that MIX day 1 was a big day for Silverlight is a bit of an understatement. You can watch the details of it yourself up here on the visit mix website; Watch the keynote and if you then want to follow up and grab Silverlight 4 bits then visit; Silverlight 4 Information which will point you to lots of resources, including the bits for download and then take a read of John ’s excellent whitepaper; “What’s New In Silverlight 4?” and Adam ’s (equally excellent) paper on Expression Blend 4; “Expression Blend 4 Beta Feature Overview ” and if it’s Windows Phone 7 Series information you’re after then visit; Silverlight for Windows Phone Windows Phone Developer Portal and catch the MIX sessions online yourself. http://live.visitmix.com/
    Filed under:
  • Silverlight 4, MEF and the DeploymentCatalog ( again :-) )

    The Silverlight 4 beta came with a version of MEF that had 3 catalogs – namely AssemblyCatalog, TypeCatalog and AggregateCatalog . They’re pretty easy to understand and I made a screencast on the topic here . The Silverlight 4 preview toolkit came with a PackageCatalog that is really useful as it works with another class Package to download separate XAP files and expose their exported components to MEF. The new MEF drop on codeplex has an evolution of those classes called the DeploymentCatalog. I wrote about it here and here . It’s really easy to use but when I encountered the PackageCatalog I felt like I wanted something “bigger” and wrote a bit of code back here that wrapped up the PackageCatalog into a component that knew how to download not just one additional package but a number of them. I wanted to do a similar thing with the DeploymentCatalog and so I put together a few simple classes to let me do that. Here’s a resource from an app.xaml file showing how the classes that I knocked up might be used; <Application...
    Filed under: , ,
  • Silverlight 4, Experiment with Pluggable Navigation and a WCF Data Service

    Warning – bit of a sketchy post this one so apply a pinch of salt, just an idea I’ve been toying with… One of the things that I find a bit mind boggling about Silverlight 4 is the new support for pluggable navigation. I wrote about it a little here but there are a better series of posts on it over here on David Poll’s excellent site . The basic idea is that Silverlight 3 introduced the the Frame control. You tell the Frame control ( via its Source property or via its Navigate method ) to navigate to a Uri and it will attempt to load content from that Uri and display it within the bounds of the Frame and maintain a navigation stack around the content that it is navigating to. In Silverlight 3, that content needed to point to a real control. That is – you caused the frame to navigate to a control derived from UserControl or, more likely, Page which has some extra navigation support on it and you had built that control into one of the assemblies in your XAP so it is “real” in the sense that it’s a compiled control...
    Filed under: ,
  • MEF, Silverlight and the DeploymentCatalog

    I posted about the DeploymentCatalog in the new MEF preview the other day and I got a question or two along the lines of “show me an actual example rather than snippets” and so I thought I’d walk through a simple example here. Let’s say that I want to build a Silverlight application that has a need for a photograph to be provided by a user and I don’t really care how this photograph is captured. It might be captured from the webcam, it might be captured from the file system or drag-drop or anything. I don’t mind, I just want to host a plugin that is happy to gather a photo from the user and then hand it to the rest of my code. I started to write this up as a blog post but I realised it would involve so many steps that it’d take a long time so I quickly recorded it as a screen capture. Note that this is one of the roughest screen captures I’ve ever made as I largely just pressed the “record” button and then made stuff up on the fly but I hope it still captures the essence of things. And here’s the code that I just...
    Filed under: ,
  • Jesse Liberty at TechDays and on UK Tour

    Jesse Liberty ( the Silverlight Geek ) is doing a UK and Ireland Tour talking about Silverlight and calling at; Bristol, London, Cambridge, Leeds, Newcastle, Edinburgh, Glasgow, Belfast and Dublin You can find details on Jesse’s blog . His visit to London is being brought under the banner of the TechDays event and he is being hosted by the Silverlight User Group – you can find the details of that on Michelle’s blog up here – it’ll form meeting 12 of the Silverlight User Group and will happen in the TechDays venue. Sign up – hope you see you there ( at the London venue ).
  • Silverlight Bootcamp at MIX10

    I’m doing a half-day “bootcamp” session with John Papa at MIX 10 and wanted to publicise that again here – if you’re already signed up for MIX then you can still revisit the pre-conference workshop registration and register for our session. If you’re not registered for MIX then registration is still open ( and reduced by $200 ) so that you can still grab a flight and come and get the detail on the Windows Phone developer story ( amongst many other things ) in person. Hope to see you there :-)
    Filed under: ,
  • New MEF Drop (Preview 9) on CodePlex!

    I was pretty excited to see that there’s a new drop of MEF up on CodePlex – if you’re a reader here then you’ll know that MEF will ship with Silverlight 4 and with .NET Framework 4.0 ( it’s already in the beta/RC bits in both cases ) and there are versions on CodePlex targeting Silverlight 3 and .NET Framework V3.5 Sp1. The phrase that I like to use to describe MEF is that it is a; framework for composing applications out of a set of loosely coupled parts that are discovered and can evolve at run time that’s not an official “MEF team” definition – it’s just Mike’s view and there’s many places where MEF makes sense such as in building pluggable application architectures and also in implementing patterns like MVVM. If you’re looking to get started with MEF then here’s some quick resources; Glenn Block’s new MSDN Magazine Overview Article and Glenn’s Blog The Overview on CodePlex The Programming Guide on CodePlex My Channel 9 Videos   My London Silverlight User Group Session Recording but if you’re already up...
    Filed under: ,
  • Silverlight 4 – Implicit Styles and Themes

    I hadn’t really thought properly about implicit styles in Silverlight 4 although I wrote a little about it back here and it’s something that WPF always had ( if I remember correctly ). The bit that I hadn’t really thought about was how you could set up a set of implicit styles for all your controls, throw them into separate resource dictionaries and then just load one style or the other at runtime and push it into the MergedDictionaries property of your application’s ResourceDictionary . It’s fairly obvious so I don’t think I’m stating anything new but I just hadn’t really thought about it. Also, of course, the Silverlight Toolkit already has this sort of theming support for both Silverlight 3 and 4. You might load those resource dictionaries from embedded XAML files in your assembly or XAP or it might be from loose XAML files that you load from the file system or from the web. As a simple example, below is an “app” which displays a few controls and then offers the chance to load one of 2 XAML files ( based on...
    Filed under: ,
  • Silverlight 4 Beta Networking Screencasts

    I’ve been putting together a session around networking in Silverlight and I wanted to get a little more re-use out of the work that I’d put into it so I thought I could quickly turn some of it into screencasts that go onto Channel 9. In Silverlight, applications are browser-initiated and ( usually ) have limited access to the local machine so being able to work on the network is key; whether that be ( as the picture suggests ) going to the site that the application came from ( the “site of origin” ) or to some other website or maybe even just on the intranet to talk to some local server. I’ve made a few screencasts. I’ve not yet decided how/when to publish them because I’ve found in the past that if I publish a lot in one go then people tend to watch the first few and then drop off so I’m trying a new tactic here of publishing them one at a time. You can find them all by clicking the image below; and I’ll add explicit links to the series below; Silverlight 4 Beta Networking. WebClient and XML . Silverlight 4 Beta...
    Filed under: ,
  • WCF and netTCP Binding in Silverlight 4

    Tomek has a fantastic post over here about the netTCP binding in Silverlight 4. I’m linking it so that I never lose it! :-)
    Filed under: ,
  • Silverlight & MEF Talk from the London Silverlight User Group

    Just a quick plug for a talk I gave last week at the London Silverlight User Group on the Managed Extensibility Framework in Silverlight 4. Ian Smith kindly recorded this with great skill and speed and has the video available if you click the picture below; The Silverlight User Group is growing really quickly – I’d say about 100 people turned up on the night which is all the room could take so I guess bigger venues are going to be called for in the future and it’s great to see so many people building with Silverlight and keen to get out and chat to others about it. On the same evening, Johannes Kebeck also presented on the Bing Maps Control for Silverlight and you can find his talk via Ian’s link here as well so it’s “2 for the price of one”.
    Filed under: ,
  • Silverlight 4 & MEF – Switching on functionality based on application context

    In my head, I see Silverlight 4 applications as either running; In Browser Out of Browser Out of Browser and Trusted Out of Browser and Trusted and in the presence of COM interop ( i.e. on Windows ) and you might write functionality that only works in certain of those contexts – e.g.; HTML display only works out of browser. You can only read the contents of “My Documents” when out of browser and elevated You can only run any COM interop code when in the presence of COM interop and I thought that it might be a good use of MEF as a way of only bringing in the functionality that is going to work in a particular context. So, I defined an enum; [Flags] public enum AppContextStatus { InBrowser = 1, OutOfBrowser = 2, InOrOutOfBrowser = 3, OutOfBrowserTrusted = 4, OutOfBrowserCOMInterop = 8, All = 15 } and then I wanted to be able to figure out which of these particular states my code might be running in. So, a little class; public static class AppContext { public static AppContextStatus CurrentStatus { get { AppContextStatus...
    Filed under: ,
  • MIX10

    I’m excited as it’s looking pretty likely that I’ll be able to get to my first ever MIX conference – MIX10 in March, Las Vegas. The current plan is that I’m going to pitch in and deliver the Silverlight Bootcamp;   with “Mr Silverlight TV” himself, John Papa . I’m looking forward to it – hope to catch you out at MIX if you’re heading out there. The way the agenda’s shaping up, I think I’ll be lucky in that my first MIX will hopefully be the best MIX so far :-)
    Filed under: ,
  • Silverlight Session on MEF at Silverlight User Group, 3rd February, Microsoft London

    Just a quick advert for something that I thought I’d already publicised but now I’m “not so sure” as I can’t find it on my site :-) I’ll be giving a talk about the Managed Extensibility Framework (MEF) in Silverlight down at the Silverlight User Group in London on Wednesday evening this week. This happens in the Microsoft office and you can find the details & registration by clicking the image below to jump over toe Mark’s blog which details the agenda including a session on Bing Maps from Johannes .   Hope to see you there :-)
1 2 3 4 5 Next > ... Last »