Over a million developers have joined DZone.

Binding to static classes in Windows Phone 7

DZone's Guide to

Binding to static classes in Windows Phone 7

· Mobile Zone
Free Resource

Get gorgeous, multi-touch charts for your iOS application with just a few lines of code.

It's a common request to be able to bind to a global variable in various parts of an application. It's often common that such variables are static.

This question seems to pop up in forums rather regularly and often the advice given is that this isn't possible or to include the "global" variable as part of the model being used as the DataContext of the page. Such duplication of functionality in the model is a bad idea and totally unnecessary.

It's not possible to bind to a static class as binding requires an object instance.
You can, however, bind to static properties of a class.

So we can bind to the static properties of the following.
namespace StaticBinding
public class MyStaticClass
private static string myStaticProperty = "my static text";

public static string MyStaticProperty
get { return myStaticProperty; }
set { myStaticProperty = value; }

We can then create an application level resource which we can actually bind to:
.. xmlns:myns="clr-namespace:StaticBinding"

<mystaticclass x:key="MyStaticClassResource"></mystaticclass>

(Sorry, don't know why the syntax highlighter has forced upper case - I'm sure you're smart enough to work out what should and shouldn't be upper case though. ;)

With the above configured we can then bind to our global property in any page we wish. We just need to set the `Source` and `Path` of the binding.
<textblock text="{Binding Path=MyStaticProperty, Source={StaticResource MyStaticClassResource}}">


A nice upside of this is that you even get intellisense on the `Path`. (Assuming you've set the `Source` first.)

X-Ref: http://stackoverflow.com/questions/5323052/data-binding-a-string-variable-of-static-class-to-textblock-in-phone-7/5325257#5325257

.Net developers: use Highcharts, the industry's leading interactive charting library, without writing a single line of JavaScript.


Published at DZone with permission of Matt Lacey, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.


Dev Resources & Solutions Straight to Your Inbox

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.


{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}