windows phone

Must-have Tools on Windows – Part 2 of 2

March 7, 2012 CSharp, Open Source, Silverlight, Windows Phone , , , ,

Every technologist has his favourite list of developer tools, applications and OS which they believe are indispensible and without them they would not be able to develop anything.  With time and changing focus, this list keeps changing.  Here’s my list of tools that I think you as a developer should have on your laptop.

Most of them are Open-Source or Freeware as I promote using Open-Source (and donating them) than buying products at premium price.  So it is possible that many excellent products have not made it to my list!

Must have Tools on Windows – Part 1 of 2 – Visit here

 

Source Control and Versioning (contd)

 

I would like to continue with the last section on Source Control of Part 1 of this article. 

Until the announcement of TFS “Express”, I was preferred using SubVersion and Mercurial but with I think TFS Express will be a game changer.  It would be an ideal source control system for teams smaller in size.  But until Microsoft launches it officially, I would continue with Subversion and Mercurial

Windows Shell TortoiseSVN for Subversion and TortoiseHG for Mercurial

Visual Studio PluginAnkhSVN for Subversion and VisualHG for Mercurial

Defect Management CollabNet allows collaboration of SVN repository with defect management tools such as JIRA, HP Quality Centre, and many more.  You can use it with Visual Studio or Eclipse as a plugin

 

Microsoft .NET development tools (contd)

 

SharpDevelop – If you don’t want to use Visual Studio Express editions then you can give a try to SharpDevelop.

CoffeeScript Compiler – If you are building Web Applications and are not familiar/used to writing JavaScript (or jQuery), you should give a try to CoffeeScript.  You can create complex JavaScript files easily using CoffeeScript and its compiler.

Storm – Other than SoapUI, Storm is a perfect tool to test cross-platform Web Services.

CruiseControl – There are several continuous integration software available in the market, but truly CruiseControl is the leader due to some obvious reasons (read: free, no-cost, no-royalty).  You can download the CCTray to get real-time build status of your projects.

SilverlightSpy – I have tried the Free-Edition and I must admit – If you are a Silverlight or Windows Phone developer (or designer), you must download and use this tool.

Tombstoning for Windows Phone – Tombstoning is a an undocumented yet a required feature of every Windows Phone application.  This library is the easiest way to manage tombstoning.

Nuget – If you are a .NET developer, having Nuget and Nuget Package Explorer are an absolute necessary tools.  You can explore various open-source frameworks/tools/packages available in the market

CInject – CInject is my contribution to Open-Source fraternity.  CInject allows code injection into any managed assembly without disassembling and recompiling it. It eases the inevitable task of injecting any code in single or multiple methods in one or many assemblies to intercept code for almost any purpose.  Read more here

StyleCop – StyleCop analyses C# source code to enforce a set of style and consistency rules. It can be run from inside of Visual Studio or integrated into an MSBuild project. StyleCop has also been integrated into many third-party development tools.

 

Database and Tools

 

MySQL – Almost all my blogging websites use MySQL as a backend.  It is light, fast, free and is most commonly available with all Website hosting packages.

Microsoft SQL 2008 Express and Compact – The express edition of SQL 2008 is really good unless you need over 4GB of data storage

Sterling – NoSQL database for Silverlight and Windows Phone platforms

Neo4j Community Edition – A graph-based, high performing, NoSQL database that is now widely accepted in several organizations

MongoDB – A document-storage based, scalable, high-performance NoSQL database

HeidiSQL – HeidiSQL is a lightweight, Windows based interface for managing MySQL and Microsoft SQL databases. It enables you to browse and edit data, create and edit tables, views, procedures, triggers and scheduled events. Also, you can export structure and data either to SQL file, clipboard or to other servers.

 

Other Windows Tools

 

Audacity – A perfect sound/video editor for your webcasts and recordings.  It can convert your audio files into various formats.

HyperCam – Screen activity and voice recorder that is an ideal for recording your webcasts.

FlashGet – An ad-free and fast download manager, FlashGet supports HTTP, HTTPS, FTP downloads

BullzipPDF – A PDF printer is something every person (not just a developer) would dream of.  Bullzip is one of the best PDF printers that allows you to print, merge, apply watermarks, encrypt with password and many more features.

HandBrake – HandBrake is multiplatform, multithreaded video transcoder

PortableApps – Carry your favourite applications on a portable or a cloud drive and make it work on any PC, any make.

FreeMind – FreeMind is a premier free mind-mapping software written in Java. The recent development has hopefully turned it into high productivity tool.

myTracker – myTracker is a time-tracking application.  The inevitable, effort-driven process of tracking time and analyzing is eased by this small-memory-footprint application.  The application generates reports in Microsoft Excel (.xls) format and provides pie charts and bar graphs depicting time usage, utilization.

Eraser – Eraser is an advanced security tool for Windows which allows you to completely remove sensitive data from your hard drive by overwriting it several times with carefully selected patterns.

PureText – Have you ever copied some text from a web page or a document and then wanted to paste it as simple text into another application without getting all the formatting from the original source? PureText makes this simple by adding a new Windows hot-key (default is WINDOWS+V) that allows you to paste text to any application without formatting.

EaseUS Partition Manager Home Edition – Free Partition Magic alternative, free hard drive partition manager and disk management utility for Windows 7 SP1 and dual boot Windows 7 and Windows 8 users.

CrucibleWDS is a free Windows imaging / deployment / cloning program. It supports cloning Windows XP, Vista, and 7. A free Ghost alternative. Free Ghost software. Supports unicast and multicast. Can be used with 1 computer or 1000’s. Uses a simple web interface to deploy clients, clients can also be imaged directly from a boot menu by selecting an image from a pxe menu.

 

So in case you believe there is any Free / Open-Source tool that has been missed in my list, post it in the comments.  I will be happy to include it in my list!

Mango is ripe, can Android can eat it?

October 10, 2011 Windows Phone ,

There are many websites that have featured what’s best in Mango update and the marketing team has described them beautifully on their website (written below). But this wouldn’t be just yet another review on the Internet. So you can expect something more than just praises, and as the title suggests the review would have a comparison between Mango, Android and to some extent iOS.

Windows Phone Website:
http://windowsteamblog.com/windows_phone/b/windowsphone/

Mango is ripe, its time to eat!

Mango update has really brought Windows Phone back into competition.  The much awaited release brings in many cool features (which ideally should have been released in the first edition itself) though half-baked, such as :

People hub– A wonderful hub that lists your contacts and displays their updates from social networking sites such as Facebook, LinkedIn, Twitter, and Windows Live.  It allows you to post a message directly to any of these networks, compose email, call, send text, or even chat with people in your contact list.

Data in People Hub is merely used as data.  You can enter birthday/anniversary date of your contacts in People Hub, but they do not automatically get added as reminders in Calendar.  Not too intelligent yet!

Populate matching names from phone book as you enter phone number would make dialing experience much better.

Email & Conversations –  Like Gmail, iOS and Microsoft Outlook 2010, Windows Phone offers you to view emails as conversations.  All your emails appear grouped by subject making it easier to view the entire mail chain. Your Inbox appears neat and clean with minimal items and you can quickly scroll down to archived mails.  You can now group your emails into Linked Inbox(es) based on your preferences.

Windows Phone has excellent Word, Powerpoint, Excel, and SharePoint (not that all consumers understand it) support.  But, oh dear, Outlook does not have formatting support.  You can compose an email in plain text, but can not do any formatting.

You can add attachments to your emails, but attachments could only be from your Pictures Hub and not from the documents you created using Office/downloaded from other emails.

How many items do we really email photographs taken on our phone?

Multitasking – It was initially frustrating to not be able to save game when receiving a call.  But multitasking was a great relief!  You could now run multiple applications now  in parallel without having to switch them off, or can switch to any running application without loosing the context.

Well you can now view multiple applications running on Windows Phone, but there is no way to close applications running in background unlike you could with Android.

Groups – Like Symbian OS, you can create groups of contacts. But wait!  You can not just send SMS to these groups, but view their activities on social networks, view their pictures, email, write on their wall and a lot more.

Multiple Calendars– Wow, that’s great now. Outlook, GMail and other calendars, tasks, Facebook Events all are now visible in one place with different colors.

Facebook events can now be viewed in Calendar, great!  But, not birthdays. Unless you are too popular to mark Facebook events on your calendar, you would not enjoy this feature!  Seems the social integration needs a second leap.  Bring on the birthdays and anniversaries in the calendar too.

Local Scout –  This is 100% unique and by-far the best feature of the Mango release.  This is really good feature for those who love adventure like me.  You don’t need to google your post code and find what’s happening around you.  Let Local Scout do that for you! This new service finds you events, restaurants, fuel, shopping and entertainment joints around you.

Main Screen & Customization – Windows Phone always had the metro feel with Live Tiles, but with Mango it became even better.  With Mango, applications can create Secondary Tiles and you could not just launch your favourite applications from main screen, but also the favourite actions in those applications.

Unlike Android and Symbian OS Windows Phone does not allow you to change and customize Look & Feel of your main screen using themes, and profiles.  You still can not customize the background screen, the accent colors,  and the font size.

Bluetooth – Bluetooth is not yet mature even after Mango update.

You can only connect to your bluetooth headset, but you can’t use Bluetooth to share pictures, data, files and anything else.  Not that many people would definitely use this, but then even a basic phone supports that! Android and iOS do too!

Internet Explorer – With HTML5 support, IE 9 really rocks.  You can view all HTML5 and legacy websites in Internet Explorer.  It is fast and web-browsing is really a great experience.

I would personally like IE 9 supporting Silverlight and Flash

Games – With XBox Live Games, Windows Phone has almost all the famous games Android, iOS, Blackberry platforms have.  The games have fantastic graphics, rarely crash and give you and your family a wonderful time together.
Camera – Mango release offers you to save your camera settings, tap anywhere to click a photograph, switch between 720p to VGA mode, switch on/off the camera shutter sound, and basic imaging features like cropping, contrast, colour balance, shadows and highlights.  The 8MP camera with a flash is not a true HDR camera as it takes single photograph and auto-fixes the picture to make it appear a HD-photo.   You can share the photographs very easily with your friends on Facebook/Twitter or upload it on SkyDrive too!

Battery Optimizer – This has been my saviour many times.  The new battery optimizer stops all the background activities/agents to use lesser battery and survive for 3-4 hours extra. So if you forgot to keep your USB cable with you or do not have a charging point nearby, you can rely on battery optimizer to energize your cell for some more time.

Applications – There is immense support from Microsoft for developing applications on Windows Phone platform.  The number of applications have grown by leaps and bounds (as per WP7applist) and that is really encouraging for a developer like me.  You can download and install the applications from Marketplace.

Oh wait! If you are thinking of trying applications, you will end up with a really looooonng list of applications that you have to scroll. Give us an icon menu, like every phone (I mean every!) does, to ease the navigation.

Navigation – If you own a Windows Phone and are thinking of buying a voice-based GPS navigation system, then you might as well re-think on that.  The Mango release brings to you a fantastic voice-driven navigation system (like Android Maps) using Bing Maps. What makes it really special is its integration with Local Scout that looks into the vicinty of your current position and finds you restaurants, fuel points, shopping, entertainment joints, etc.

A couple of basic features and more integration between its existing features would make Windows Phone more acceptable as a consumer phone.  But then lets face it, Android and iOS have matured over time and they too faced many hiccups when they were launched.  If Microsoft continues taking consumer feedback & releases upgrades to fix these minor issues, I think, over a period of time Windows Phone may give a tough fight to Android and iOS.

All the best to Windows Phone team

WCF Rest Services for Windows Phone

August 14, 2011 CSharp, Visual Studio, WCF, Windows Phone , , ,

So great, to create WCF Rest services for Windows Phone, you have to follow just 5 steps.  This post will have more code than words, making it neat and to-the-point

Step 1: Create a WCF Service

Define the interface IMyService in ‘Services’ folder of YourWebsite

namespace YourWebsite.Services
{
       [ServiceContract(Namespace = "http://YourWebsite.com/services", Name = "MyService")]
       public interface IMyService
       {
         [OperationContract(Name="DoWork")]
         [WebGet(UriTemplate = "?nm={name}",  RequestFormat = WebMessageFormat.Xml, 
                ResponseFormat = WebMessageFormat.Xml,
                BodyStyle = WebMessageBodyStyle.Bare)]
         [FaultContract(typeof(ServiceError))]

         bool DoWork(string name);
       }
}

Add a service MyService.svc that inherits from IMyService

[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class MyService : IMyService
{
      public bool DoWork(string name)
      {
         return true;
      }
}

Step 2: Modify the markup of MyService.svc

The markup of the MyService.svc should have
Factory=”System.ServiceModel.Activation.WebServiceHostFactory”

<%@ ServiceHost Language="C#" Debug="true" Service="YourWebsite.Services.MyService"
Factory="System.ServiceModel.Activation.WebServiceHostFactory"
CodeBehind="MyService.svc.cs" >

Step 3: Modify Web.Config of the Hosting Website

Add REST behavior (webHttp) to web.config

<system.serviceModel>
  <serviceHostingEnvironment>
    <baseAddressPrefixFilters>
      <add prefix="http://www.YourWebsite.com/Services"/>
    </baseAddressPrefixFilters>
  </serviceHostingEnvironment>
  <behaviors>
    <endpointBehaviors>
      <behavior name="restBehavior">
        <webHttp />
      </behavior>
    </endpointBehaviors>
    <serviceBehaviors>
      <behavior name="">
        <serviceMetadata httpGetEnabled="true" />
        <serviceDebug includeExceptionDetailInFaults="false" />
      </behavior>
    </serviceBehaviors>
  </behaviors>

  <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
  <client>
    <endpoint address="MyService.svc" binding="webHttpBinding" contract="YourWebsite.Services.IMyService" behaviorConfiguration="restBehavior" />
  </client>

</system.serviceModel>

 

Step 4: Calling MyService in Windows Phone

We don’t need to create any proxy class, and a simple WebClient can do the proxy stuff for us!

string url = string.Format("http://yourwebsite.com/services/MyService.svc?nm={0}", "My Name");
WebClient proxy = new WebClient();
proxy.OpenReadCompleted += new OpenReadCompletedEventHandler(proxy_OpenReadCompleted);
proxy.OpenReadAsync(new Uri(url, UriKind.Absolute));

Once the WCF service is invoked, proxy_OpenReadCompleted is called.

private void proxy_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
{
      if (e.Error != null)
      {
          // do something
      }

      DataContractSerializer serializer = new DataContractSerializer(typeof(bool));
      bool returnValue = (bool)serializer.ReadObject(e.Result);

}

Step 5: Execute

And you are done!  Just execute your Windows Phone application and you will have the RESTed output 🙂

Error 1047: An update cannot support fewer languages than the previous app instance supported

August 10, 2011 Windows Phone

New App Hub is Mango-ready and multiple language support is the most sought after feature.  To allow this, any new application or an existing application update needs to do some changes in the project properties.  So if you try uploading an update, or a new application you would face one of the following errors

  • Error 2003: The [NeutralResourceLanguage] attribute is missing on the entry assembly.
  • Error 1047: An update cannot support fewer languages than the previous app instance supported.
  • Error 1048: A language supported in this XAP conflicts with a language that is already supported by another app instance for this app.

Now the solution,

  • If you are submitting a new app you will have to manuall add a line in AssemblyInfo.cs file to specificy default language. Something like: Since it was not required for old apps it creates confusion.

    [assembly: NeutralResourcesLanguageAttribute(“en-US”)]

  • If you are submitting an update to your exsiting app, you will find that even after adding the above like you will get error like:

    1047: An update cannot support fewer languages than the previous app instance supported.

    To solve that you need to change the language to “en” from “en-US”. Since earlier update did not have this attribute it apparently defaulted to “en”.

And, compile your project and submit it to Marketplace.

More information? Please visit MSDN link

 

 

moneyManager Pro ranks in Top UK Finance Apps

July 14, 2011 Applications ,

Check out Zune in UK region to see moneyManager Pro on 5th rank in Paid Finance Applications on Windows Phone

Read more

 

Windows Phone “Failed to generate code for the service reference”

July 4, 2011 CSharp, Visual Studio, Windows Phone , , ,

Phew, I got this error at 22:30 today and I struggled until I found out a solution.  So if you face this issue, follow the steps stated below and you should get going!

Exact Error?

Error 10 Custom tool error: Failed to generate code for the service reference ‘MyService’.
Please check other error and warning messages for details.
C:\Development\SolutionName\ProjectName\Service References\MyService\Reference.svcmap

Solution(s)?

  • Update Service Reference and try compiling
  • Right click the service reference, click on “Configure Service Reference” and uncheck “Reuse types in referenced assemblies” and try compiling
  • Open the WSDL file in the browser, and compare for illegal characters in the generated files  (.disco, .wsdl, .xsd) for path references that differ from the address set in the step above
  • Check for the ServiceReferences.ClientConfig if it has any incorrect entries
  • Try dropping the entire service reference and adding it again

Still not working, yes that’s possible!

  • Clean the solution
  • Close the VS 2010, and restart it
  • Repeat the steps mentioned above

 

Interview at Windows Phone 7 Lab (wp7lab)

July 4, 2011 Windows Phone

Liviu Arsene, the co-founder of Windows Phone 7 Lab (wp7lab),  wrote to me with high enthusiasm to know more about my applications, my views on WP7 SDK, my further app releases, my interests and a lot more.  The mail exchange followed by a short call before he posted my thoughts on the website.

This experience was one-of-its-own kind.  To develop applications is one aspect of being a developer, to publish applications is another, to contribute via blogs (like this site does) is a different altitude in itself.  But to get into a discussion with an equally interesting personality on a topic like Windows Phone development – yes, it has its own flavor!

So the exchange of mails further translated into an official release as an interview, which you can find below

Original Source: http://wp7lab.com/news/punit-ganshani-developer-interview/

Here you have it folks, a new developer interview with the developer of Kids Doodle,Punit Ganshani. In case you missed Kids Doodle Free as it was launched earlier this month, give it a try and then you’ll understand why we were so eager in contacting Punit for an exclusive interview with our team.

As usual, we aimed a couple of questions at how the WP7 development process took place and where did he get the inspiration for his app. Read through the interview below and you’ll get to know more about Punit Ganshani and his work. Also, we’d like to officially thank Punit for taking the time and agreeing to do the interview.

1. We’re definitely eager in learning more about you, so what can you tell us about you and what you do for a living?

I am a passionate developer in Microsoft technologies. I got an early exposure to this ecosystem at an age of 5 when 8088-processors used to run on MS-DOS operating systems and display was on green monitors. I started developing small applications with the help of programming languages like QuickBasic, Clipper, C, and C++ until I dirtied my hands under the bonnets of Visual Basic and Microsoft .NET stack.

Seeing .NET stack as a propellant of future technologies, I chalked out my career path on Winforms, SharePoint, and Silverlight; and later on, on Windows Phone development. My bread and butter though come from a leading software consulting and solutions organization, where I have been getting opportunities to work on Microsoft technologies for the last 5 years.

2. How did you end up coding WP7 software? What was so appealing about this new development platform?

I have been developing applications. Simultaneously I have been evaluating solutions providers on RIA platform and have been fascinated by the integration of a rich UX platform with WCF, Comet and MOM. With Windows mobile platform adopting XAML and Silverlight as the stack, I took up designing and developing applications for mobile as my hobby.

The most appealing aspect of this new development is that it unifies the language of development for Winform, Web and Mobile platforms, leverages on hardware acceleration and delivers a rich-user experience which is better than many others, and above all – its Microsoft’s baby! Yes, Microsoft is my first love!

3. Kids Doodle is definitely something that’s appealing to both children and grownups. How did you come up with the idea?

Well, there is a small kid in every person who loves scribbling, drawing, sketching when one is speaking over phone, when meetings seem long and boring, and when one is in deep thoughts! So, in situations such as these if you have a phone as cool as WP7 handy, doodling, sharing and tweeting would always be fun! So why not have an application that people of all ages would love. So that’s how an idea of Kids Doodle got rooted in my mind, and it took a firm shape from there.

4. Are you planning on releasing any new games or apps? Can you give us a clue as to what you’re working on next?

Yes, an IdeaException() has been thrown and caught in my mind! (laugh) I am working on some innovative ideas and they are taking a concrete shape. So you can expect a much enhanced professional version of the widely used moneyManager app that I developed some time ago and is being used by many, plus some mind-games, and some surprise releases as well.

5. Have you considered making a living out of developing WP7 apps and maybe starting a business for this sole purpose?

No, not yet. I am yet to evaluate that option. With only 6 applications in the market, I would say, my journey has just begun.

6. How would you rate the WP7 SDK? Are there any tools missing/needed that could improve or speed up the development process?

Microsoft has done a very good job really, especially, with the “Mango” version of SDK. However, the SDK still does not offer all features of WM6.5 SDKs. A radical shift of Windows Phone from being a complete “business” phone to just a “consumer” phone is a little difficult to digest. Had the APIs supported more WM6.5 functionalities, I would have no reservations in saying that Windows Phone would have leapfrogged the user base in all segments.

As far as tools are concerned I am still waiting for a tool that simulates hardware conditions for multiple devices. That would ease testing & bring better performing applications.

7. We’ve noticed that developers have issues with promoting their apps while you on the other hand have managed to get some really good media spotlight? What’s the secret?

There is no secret to application promotion. One should have pulse of the user’s needs, rather than their requirements. That is crossing half the journey. And, if you have gauged the market well & your users are happy, you have sailed the remaining half of the journey. Use the best tools available in market, take feedback from your friends, relatives and users very seriously, particularly one which is shows your application in poor light, and all the time think of bringing something new and useful. There should always be something interesting for which users await an application update. This itself will result in your application getting media spotlight, sort of naturally– you will not have to do that. That’s the mantra I believe in! I think making users happy is the secret.

8. Is there any message or piece of advice (when it comes to developing WP7 apps) that you would like to share with our readers?

It is tough to be a designer, developer, tester and a user at the same time. Being a ‘user’ of your own application is toughest, sometimes fatal if you are not a ruthless critic of your own application. So if you are an individual developer, like me, you should manage frequent role changes very well, and be your own critic! Finally, seek review from your dear ones before you launch an application in the market. My dad and my wife have been my testers and challengers, and my first users every time!

 

So yes, there is more to remain tuned on this website – blogs, applications, and announcements!

Creating Page Transitions in Windows Phone

July 3, 2011 CSharp, Visual Studio, Windows Phone , , ,

Creating page transitions is not difficult at all when you have Silverlight Toolkit available in market.  So follow the steps written below

Step 1: Using Silverlight Toolkit

So first download the latest copy of Silverlight Toolkit and follow the steps belowAdd a reference of Microsoft.Phone.Controls.Toolkit in your application

Step 2: Modify App.xaml.cs

Next modify App.xaml.cs to enable loading a page with transitions instead of a normal page.

Find out,  this line

[sourcecode language=’c#’]

RootFrame = new PhoneApplicationFrame();
[/sourcecode]

This has to be replaced by

[sourcecode language=’c#’] RootFrame = new Microsoft.Phone.Controls.TransitionFrame();
[/sourcecode]

Step 3: Apply transitions to page

Add the XML name space for toolkit in your page first if it is not already presented:
[sourcecode language=’c#’] xmlns:toolkit=”clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Toolkit”
[/sourcecode]

Now, add appropriate transition to your page (not as a resource).  Few samples are as shown below:

Example 1: Rotate pages when loading and exiting

[sourcecode language=’xml’]



















[/sourcecode]

Example 2: Turnstile motion when loading and exiting

[sourcecode language=’xml’]



















[/sourcecode]

Step 4: You are done!

Execute your application and see the page transitions working fine!

“moneyManager Pro” releasing today!

June 23, 2011 Applications ,

moneyManager Pro will be available today in the MarketPlace for downloads.  This would be the FIRST application that allows connecting to your machine to generate reports in Excel, PDF and CSV formats.  And yes, the Windows Application is FREE for all.

Being a Professional version, assures more functionalities, better support & continued software updates for both Windows Phone 7 application and Windows Application.

Some credits:

  • moneyManager (free version) has been in Top 10 Free Finance Applications in many nations
  • moneyManager (free version) has over 5000+ satisfied users
  • moneyManager Pro has more than 20 NEW enhanced features than moneyManager (free version)

Downloading the application is very easy, and you can follow the steps mentioned here

Color Reflector for Windows Phone and Silverlight

June 11, 2011 Windows Phone

Let’s assume that you have a paint application.  A user can draw, modify pictures, save it, retrieve it back and even share it.  Now with such an application, you would want to enhance the user experience by allowing him customize the user-interface.  So user changes the background color, fonts, etc and closes the application.

Next day, he opens the application and he expects that his settings are saved.  You would definitely use IsolatedStorage to save his data in a local XML file.  And then, apply the colors, fonts to the UI.  Here’s where you need a Color Reflector that converts a color (in a String format) to a Color (as in Enum)

So, here you go for the ColorReflector

[sourcecode language=’c#’]

using System.Windows.Markup;
using System.Windows.Media;
using System.Windows.Shapes;

namespace OptimaX.WP7.Formatters
{
public class ColorReflector
{
public static Color FromKnownColor(string colorName)
{
Line lne = (Line)XamlReader.Load(““);
return (Color)lne.Fill.GetValue(SolidColorBrush.ColorProperty);
}
}
}

[/sourcecode]

What is OptimaX.WP7?  That is my own-framework with all utilities/tools for Windows Phone 7

Follow on Feedly