Vinculando propiedades personalizadas de Silverlight UserControl a sus 'elementos

Estoy tratando de hacer un juego de crucigramas simple en Silverlight 2.0. Estoy trabajando en un componente UserControl-ish que representa un cuadrado en el rompecabezas. Tengo problemas para vincular las propiedades de mi UserControl con sus elementos. Finalmente (más o menos) lo puse a trabajar (puede ser útil para algunos, me llevó unas largas horas), pero quería hacerlo más 'elegante'.

Me imaginé que debería tener un compartimento para el contenido y una etiqueta (en la esquina superior derecha) que opcionalmente contenga su 'número. El control de contenido probablemente sea un TextBox, mientras que el control de la etiqueta podría ser un TextBlock. Así que creé un UserControl con esta estructura básica (los valores están codificados en esta etapa):

    <UserControl x:Class="XWord.Square"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    FontSize="30" 
    Width="100" Height="100">
        <Grid x:Name="LayoutRoot" Background="White">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="*"/>
                <ColumnDefinition Width="Auto"/>
            </Grid.ColumnDefinitions>

            <Grid.RowDefinitions>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="*"/>
            </Grid.RowDefinitions>

            <TextBlock x:Name="Label" Grid.Row="0" Grid.Column="1" 
                Text="7"/>
            <TextBox x:Name="Content" Grid.Row="1" Grid.Column="0"  
                Text="A"
                BorderThickness="0" />

        </Grid>
    </UserControl>

También he creado DependencyProperties en la clase Square de esta manera:

     public static readonly DependencyProperty LabelTextProperty;
     public static readonly DependencyProperty ContentCharacterProperty;

     // ...(static constructor with property registration, .NET properties
     // omitted for brevity)...

Ahora me gustaría descubrir cómo vincular el elemento Label y Content a las dos propiedades. Lo hago así (en el archivo de código subyacente):

     Label.SetBinding( TextBlock.TextProperty, new Binding { Source = this, Path = new PropertyPath( "LabelText" ), Mode = BindingMode.OneWay } );
     Content.SetBinding( TextBox.TextProperty, new Binding { Source = this, Path = new PropertyPath( "ContentCharacter" ), Mode = BindingMode.TwoWay } );

Eso sería más elegante hecho en XAML. ¿Alguien sabe cómo se hace?

Respuestas a la pregunta(6)

Su respuesta a la pregunta