¿Cómo puedo manejar mejor los botones de radio WPF?

Tengo algunos RadioButtons en mi XAML ...

<StackPanel>
    <RadioButton Name="RadioButton1" GroupName="Buttons" Click="ButtonsChecked" IsChecked="True">One</RadioButton>
    <RadioButton Name="RadioButton2" GroupName="Buttons" Click="ButtonsChecked">Two</RadioButton>
    <RadioButton Name="RadioButton3" GroupName="Buttons" Click="ButtonsChecked">Three</RadioButton>
</StackPanel>

Y puedo manejar sus eventos de clic en el código de Visual Basic. Esto funciona...

    Private Sub ButtonsChecked(ByVal sender As System.Object, _
                               ByVal e As System.Windows.RoutedEventArgs)
        Select Case CType(sender, RadioButton).Name
            Case "RadioButton1"
                'Do something one
                Exit Select
            Case "RadioButton2"
                'Do something two
                Exit Select
            Case "RadioButton3"
                'Do something three
                Exit Select
        End Select
    End Sub

Pero me gustaría mejorarlo. Este código falla ...

<StackPanel>
    <RadioButton Name="RadioButton1" GroupName="Buttons" Click="ButtonsChecked" Command="one" IsChecked="True">One</RadioButton>
    <RadioButton Name="RadioButton2" GroupName="Buttons" Click="ButtonsChecked" Command="two">Two</RadioButton>
    <RadioButton Name="RadioButton3" GroupName="Buttons" Click="ButtonsChecked" Command="three">Three</RadioButton>
</StackPanel>
    Private Sub ButtonsChecked(ByVal sender As System.Object, _
                               ByVal e As System.Windows.RoutedEventArgs)
        Select Case CType(sender, RadioButton).Command
            Case "one"
                'Do something one
                Exit Select
            Case "two"
                'Do something two
                Exit Select
            Case "three"
                'Do something three
                Exit Select
        End Select
    End Sub

En mi XAML obtengo un subrayado azul ondulado en elComando = atributos y este consejo ...

'CommandValueSerializer' ValueSerializer cannot convert from 'System.String'.

En mi VB obtengo un subrayado verde y ondulado en elSeleccione el caso línea y esta advertencia ...

Runtime errors might occur when converting 'System.Windows.Input.ICommand' to 'String'.

Aún mejor sería usar comandos de tipo Enum con Intellisense completo y compilar errores en lugar de errores de tiempo de ejecución en caso de errores tipográficos. ¿Cómo puedo mejorar esto?

Respuestas a la pregunta(2)

Su respuesta a la pregunta