J'ai parcouru ce site (et bien d'autres) en essayant de comprendre ce qui se passe et pourquoi cela ne fonctionne pas. J'utilise VS2012 et j'ai créé une application WPF C # (cible .NET 4.5). Je suis nouveau sur WPF, après avoir passé de nombreuses années à coder des applications Windows Forms, mais j'ai décidé de franchir le pas, et j'aime 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 contrôle utilisateur dans cette ligne particulière
Cependant, je n'arrive pas à placer même un simple bouton de contrôle. Ce que je veux faire, c'est placer un bouton dans la rangée 4 (3 avec un index nul). Voici mon 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 le panneau de pile) est:
Button MyControl = new Button();
MyControl.Content = "Test Button!";
Grid.SetRow(MyControl, 3);
Grid.SetColumn(MyControl, 0);
gridMain.Children.Add(MyControl);
Je peux voir (dans ma montre) que la valeur du nombre gridMain.Children augmente chaque fois que je clique sur le premier bouton, mais rien n'apparaît à l'écran.
C'est probablement quelque chose de vraiment idiot, mais quelques heures de recherche et d'essai d'une pile de code différent n'ont pas aidé.
Merci d'avance!
<ColumnDefinition Width="0"/>
Vous pourriez peut-être voir le bouton si vous augmentiez la largeur.