Ajouter un contrôle par programme à Grid RowDefition dans WPF 4.5

J'ai été par le biais de ce site (et bien d'autres) à essayer de comprendre ce qui se passe et pourquoi cela ne fonctionne pas. Je suis en cours d'exécution VS2012 et ont créé un WPF application en C# (la cible .NET 4.5). Je suis nouveau sur WPF, ayant passé de nombreuses années de codage Windows Forms apps, mais a décidé de franchir le pas, et je suis de goût XAML jusqu'à présent.

En fin de compte, je veux:
1) Supprimer un contrôle utilisateur dans une Ligne particulière (RowDefinition) dans ma Grille
2) Placer un autre de contrôle de l'utilisateur dans cette Ligne particulière

Cependant je n'arrive pas à la place même d'un simple bouton de contrôle. Ce que je veux faire est de placer un bouton dans la Rangée 4 (3 avec index de zéro). Voici mon code XAML:

<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:Custom="http://schemas.microsoft.com/winfx/2006/xaml/presentation/ribbon"
x:Class="TestApp2_WindowsClient.MainWindow"
Title="Test App 2" Height="700" Width="1000" MinHeight="700" MinWidth="1000" MaxHeight="700" MaxWidth="1000" FontSize="12" FontFamily="Segoe UI Semibold">
<Grid VerticalAlignment="Top" Name="gridMain">
    <Grid.RowDefinitions>
        <RowDefinition Height="60"/>
        <RowDefinition Height="152"/>
        <RowDefinition Height="240"/>
        <RowDefinition Height="60"/>
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="0"/>
    </Grid.ColumnDefinitions>

<StackPanel Name="stackButtons1" HorizontalAlignment="Left" Height="50" Margin="4,4,-310,4" Grid.Row="0" VerticalAlignment="Top" Width="300" Orientation="Horizontal" >
        <Button Content="Show Bookings" Height="24" Margin="4,0,0,0" Click="Button_Click_1" />
        <Button Content="Show Radio Buttons" Height="24" Margin="4,0,0,0" Click="Button_Click_2" />
    </StackPanel>

</Grid>
</Window>

Le code du bouton (premier bouton dans la Pile du Panneau) est:

Button MyControl = new Button();
MyControl.Content = "Test Button!";

Grid.SetRow(MyControl, 3); 
Grid.SetColumn(MyControl, 0); 
gridMain.Children.Add(MyControl); 

Je peux voir (à ma montre) que le gridMain.Les enfants de compter la valeur augmente à chaque fois que je clique sur le premier bouton, mais rien ne s'affiche sur l'écran.

C'est probablement quelque chose de vraiment stupide, mais quelques heures de recherches et d'essayer une pile de code différent n'a pas aidé.

Merci d'avance!

source d'informationauteur Dominik