Archives
-
Making Silverlight 3 Application Code More Compatible with Blend
Expression Blend 3 is a great tool for creating Silverlight or WPF user interfaces using design time tools and controls. If you haven’t tried version 3 you’re really missing out since it adds a ton of new time-saving features.
-
Previewing Websites in Multiple Browsers with Expression Web 3’s SuperPreview
Expression Studio 3 has a great new feature that was announced and demonstrated back at the Mix 09 conference called SuperPreview. It allows you to compare how a page looks across multiple browsers including IE6, IE7, IE8 and FireFox (with more reportedly coming in the future). In this post I’m going to provide a quick look at SuperPreview and walk you through some screen shots to get you started using it.
After installing Expression Studio 3 I opened SuperPreview and saw the browsers shown in the image below. The first thing you’ll notice is that you can test IE6. Although I personally wish this browser would die and go away, my company still works with several clients who have large IE6 deployments across the enterprise so it’s nice to be able to test it easily. Previously I used IETester (which works quite well) to test different versions of IE. -
Running a WCF Service on IIS 7
I was trying to get a WCF service going on my Windows 7 machine tonight that I call from a Silverlight 3 application and ran into the following error when trying to view the .svc file in the browser:
-
Using Element to Element Binding for ToolTips in Silverlight 3
Silverlight 3 provides a new feature called “element to element” binding that allows one element to bind to another element’s property. It’s really useful when you want to tie two objects together so that when one object changes the other changes as well.
-
Simplifying the Process of Calling a WCF Service from Silverlight (or any .NET Application)
I’m currently working on a large Silverlight 3 project for a client that will ultimately have hundreds of calls from Silverlight to WCF service operations. Initially I did things the standard way which is to define a client-side class that’s used to call the WCF service using the generated service proxy (I’m basically following a service agent type of pattern). The service agent class handles instantiating the WCF proxy object and calling the appropriate operations. Here are a few examples….each of these methods accept the parameters passed to the WCF service as well as a callback method that’s called when the service returns data.
-
Silverlight 3 Released – Exciting Stuff Here!
Silverlight 3 is now officially released and available for download! It’s definitely exciting for me personally because my company has been working on a Silverlight 3 client application for the past few months and really enjoyed the new features. Here are some of the key features Silverlight 3 brings to the table:
-
Validating Properties in Silverlight Classes
Silverlight classes rely on the INotifyPropertyChanged interface and associated PropertyChanged event it contains to ensure that data binding stays up-to-date in an application. It’s a great feature because you don’t have to worry about ensuring that changes to object properties are propagated back to controls….Silverlight handles refreshing control values for you automatically as long as the class that’s being data bound implements INotifyPropertyChanged and property set blocks raise the event. I use a fairly standard pattern for defining my properties and raising property changed events (there are several options for doing this…see a nice list here). Here’s an example of a property:
-
Creating a ComboBox Style AutoCompleteBox Control in Silverlight
Silverlight’s AutoCompleteBox control provides a nice way to filter a list of items as the user types into a TextBox. If you haven’t used it before you can see an example here. In a previous post I showed how you could customize AutoCompleteBox to make it look and feel more like an editable ComboBox so that users can click a down arrow to see the list of items and also filter the items by typing into the TextBox.