My name is Edward Tanguay. I'm an American software and web developer living and working in Berlin, Germany.
9 hours ago: Here's a use-case for datapod format, recording human-readable data that later can be used as a datasource: http://is.gd/eSsLg @pholdings.
9 hours ago: "Subscriptions are available to U.S. addresses only." http://www.highlights.com another global economy #fail.
9 hours ago: "Subscriptions are available to U.S. addresses only." http://www.highlights.com another global #fail.
11 hours ago: My notes on podcast with author Aimee Bender's Lemoncake book, "a normal kid punished by expectations of giftedness": http://is.gd/eSsLg.
12 hours ago: Interesting: "one page per book": http://openlibrary.org/about.
12 hours ago: Another after-work 8K, did 5K in 23:33, getting cooler here as #berlin #marathon approaches: http://is.gd/eSp95.
yesterday: C# CODE EXAMPLE: Extension method for checking regex in one line: http://is.gd/eQzyg.
yesterday: New podcast source: "I don't want to put you to sleep, but I want to be as rich, and rewarding, and resident as a dream.":http://is.gd/eQrdC.
yesterday: An intense colin marshall interview with michael silverblatt on the art of interviewing & more: http://is.gd/eQqve (search for "blatt").
yesterday: The stackexchange site for wordpress is up: get your answers / establish your reputation @cottonr http://wordpress.stackexchange.com.
2 days ago: "I've always felt that any time you can use a tuple, you should use a struct.": http://is.gd/eQm9V.
WPF CODE EXAMPLE created on Thursday, March 05, 2009 permalink
How to create your own commands and bind them in WPF
This example shows how to create commands and bind them. You could see this as analogous to how this was done in WinForms, but actually it is looser than that, since you could use e.g. a test class to call the same commands to test that they are working correctly.
XAML:
<Window x:Class="TestCommands.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:local="clr-namespace:TestCommands"
    Title="Window1" Height="300" Width="300">
    <Window.CommandBindings>
        <CommandBinding Command="{x:Static local:Window1.CommandOne}" Executed="CommandBinding_Executed"/>
        <CommandBinding Command="{x:Static local:Window1.CommandTwo}" Executed="CommandBinding_Executed"/>
        <CommandBinding Command="{x:Static local:Window1.CommandThree}" Executed="CommandBinding_Executed"/>
    </Window.CommandBindings>
    <Grid>
        <StackPanel Margin="10">
            <TextBlock x:Name="TheTextBlock" Text="make a choice below"/>
            <RadioButton GroupName="radioColor" IsChecked="True" Content="Blue" Command="{x:Static local:Window1.CommandOne}"/>
            <RadioButton GroupName="radioColor" IsChecked="False" Content="Red" Command="{x:Static local:Window1.CommandTwo}"/>
            <RadioButton GroupName="radioColor" IsChecked="False" Content="Green" Command="{x:Static local:Window1.CommandThree}"/>
            <Button Content="Change text to Red" Command="{x:Static local:Window1.CommandTwo}"/>
        </StackPanel>
        
    </Grid>
</Window>

code behind:
using System.Windows;
using System.Windows.Input;
using System.Windows.Media;

namespace TestCommands
{
    public partial class Window1 : Window
    {
        public static readonly RoutedCommand CommandOne = new RoutedCommand();
        public static readonly RoutedCommand CommandTwo = new RoutedCommand();
        public static readonly RoutedCommand CommandThree = new RoutedCommand();

        public Window1()
        {
            InitializeComponent();
        }

        private void CommandBinding_Executed(object sender, ExecutedRoutedEventArgs e)
        {
            if (e.Command == CommandOne)
            {
                TheTextBlock.Foreground = new SolidColorBrush(Colors.Blue);
            }
            else if (e.Command == CommandTwo)
            {
                TheTextBlock.Foreground = new SolidColorBrush(Colors.Red);
            }
            else if (e.Command == CommandThree)
            {
                TheTextBlock.Foreground = new SolidColorBrush(Colors.Green);
            }
        }

    }
}
need markup?