Breaking news: Silverlight 1.0 Released!

Hot off the presses, Microsoft has released Silverlight 1.0! For those unfamiliar with Silverlight, it’s a lightweight add-in that works with most browsers. It allows you to display incredibly rich content in the browser. Version 1.0 uses AJAX libraries to handle multimedia content, games and more.

Read the Microsoft Press Release at:

http://www.microsoft.com/presspass/press/2007/sep07/09-04SilverlightPR.mspx

There is an interview with Scott Guthrie on Channel 9, you can see it here:

http://channel9.msdn.com/showpost.aspx?postid=339594

You can download Silverlight and learn more about it at the Silverlight site:

http://silverlight.net/Default.aspx

or the Microsoft page (slightly different content)

http://www.microsoft.com/silverlight/

Scott Guthrie has a really informative post on his blog:

http://weblogs.asp.net/scottgu/archive/2007/09/04/silverlight-1-0-released-and-silverlight-for-linux-announced.aspx 

If you want to see an example of a Silverlight site, visit the Alabama Code Camp site at:

http://www.alabamacodecamp.com/home.html

Sweet.

The WPF Button

It’s finally time to quit talking about WPF Containers, and start getting into some of the controls. The first one we’ll hit is the hardest working control in show business, the WPF Button.

I’m sure you’re thinking “what’s so hard about a button?” After all, you slap a button tag on a form like this:

<Window x:Class=WPFSample001.ButtonWindow

    xmlns=http://schemas.microsoft.com/winfx/2006/xaml/presentation

    xmlns:x=http://schemas.microsoft.com/winfx/2006/xaml

    Title=Buttons Height=83 Width=194

    >

  <StackPanel>

    <Button>Click Me Baby!</Button>

  </StackPanel>

</Window>

I created a window named ButtonWindow, and added a StackPanel with one button. This will give you something like this:

wpf022 

Simple and easy, but there’s much more to the button. First off, you can change the point at which the click event actually fires. The button has a ClickMode property you can set that controls this. The default is “Release”, which pretty much acts as you expect. The other two values are Press and Hover. When the button looks like a button, you would probably want to use release, however it’s possible to morph the button to a graphic of some sort. In that case it might be more intuitive to fire when the button is first pressed, and not when the user releases the mouse.

Speaking of the click, just how do you react to a WPF event in C# anyway? Good question, I thought you’d never ask.

All you have to do is indicate the name of the event you want to respond to, then pass in a string value which is the name of the method to route to. In your XAML, alter the Button line to look like this:

      <Button Click=Baby_Click>Click Me Baby!</Button>

 

Now we need a little C# code to respond. Open the code behind class (in my case ButtonWindow.xaml.cs). Now add a new method:

    private void Baby_Click(object sender, RoutedEventArgs e)

    {

      MessageBox.Show(“Hi There!”,“Baby was clicked!”);

    }

WPF Events must match a certain signature. They will need to have a return type of void (or will be a SUB for you VB folks). They will also accept two arguments, an object that indicates what the sender of the event was, and a set of event arguments encased in the RoutedEventArgs variable, traditionally called e.

Here were doing something pretty simple, and showing a message box.

wpf023 

There’s lots more we can do with the button, but we’ll save that for a more advanced day. Today I just wanted to cover the basics of the button, as it’s one control that will likely see a lot of use in your toolbox.

Follow

Get every new post delivered to your Inbox.

Join 106 other followers