| 
					by 
					kirupa  |  29 July 2007
 In the previous page, 
you downloaded the sample Kuler Background application and saw how it worked. We 
extended the functionality by setting up the data binding, and in this page, 
let's take a look at what our result is going to be. We left off by having accepted our data binding 
							changes and closing our Create Data Binding window. 
							You can immediately see that our changes were 
							accepted because both the 
							Advanced property options box and the entire 
							Brushes panel look a little different:
 
							 
							[ how our Brushes panel looks like after the data 
							binding ] Notice that your Color Editor area has an orange 
							border, and your Advanced 
							property options box next to your Background 
							property is colored yellow. The real test comes when you are actually running 
							your application. Press F5 to build and run your 
							application. Your Kuler Background application will 
							look similar to the following image: 
							 When you select different colors from your 
							combobox, notice that your background retains the 
							Black color. This isn't working like it was supposed 
							to! The reason, which I briefly mentioned in the first page, has to do with the data returned by your 
							combobox's SelectedValue property and the data your 
							Window's Background property expects. To copy and paste what I wrote on the first page: The color value returned by
							[your combobox] 
							is in a form such as  FFFFFF. 
							The format WPF brushes use for displaying colors is
							
							#FFFFFF. The 
							difference is in the  # 
							symbol that WPF seeks but which our data source from 
							the Kuler feed does not provide. Reconciling this 
							difference is where  
							value converters 
							come in. If your combobox's items were to simply include 
							the # character in front of the hex values, 
							everything would be fine. But, they do not, and its 
							up to us to fix this. The following steps will help you create the value 
							converter:
 
								Launch Visual Studio / Visual C# Express and 
								open your KulerBackground project. This is the 
								same project you have opened in Blend, and if 
								given a security warning when opening the 
								project, select the 
								Load project normally option: 
							 
							[ Load the project normally, for you are simply 
							opening a project you created in Blend ] 
								Once your project has been opened, 
								your Solution Explorer will display all of the 
								files currently used by your project: 
							 
							[ our Solution Explorer provides access to files and 
							references ] Let's add a new C# file, so from 
							your Solution Explorer, right click on your 
							KulerBackground C# project and go to Add | New 
							Item: 
							 
							[ you are planning on adding a new item to our C# 
							KulerBackground project ] 
								The Add New Item window will appear. Select 
								the Class icon and, in the Name field, enter the 
								name StringToBrush: 
							 
							[ give your new C# class file the name 
							StringToBrush ] Click the
							Add button to 
							close the Add New Item window and to add your new C# 
							class file to your project. 
								Right now, your newly created 
								StringToBrush.cs file will be opened in the code 
								editor. If it isn't, be sure to open it via your 
								Solution Explorer. Ok, now that you have everything ready to edit 
							StringToBrush.cs, we'll start from a clean slate and 
							focus exclusively on coding on the 
							next page. Onwards to the
							next page! |