19

私はこのサイト(および他の多くのサイト)を調べて、何が起こっているのか、なぜこれが機能しないのかを理解しようとしています。VS2012を実行していて、WPF C#アプリ(ターゲット.NET 4.5)を作成しました。私はWPFを初めて使用し、Windowsフォームアプリのコーディングに長年を費やしてきましたが、思い切って取り組むことにし、今のところXAMLが好きです。

最終的には、次のことを行います。1)グリッド内の特定の行(RowDefinition)のユーザーコントロールを削除します。2)その特定の行に別のユーザーコントロールを配置します。

しかし、単純なボタンコントロールすら配置できないようです。私がやりたいのは、行4(インデックスがゼロの3)にボタンを配置することです。これが私の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>

ボタンコード(スタックパネルの最初のボタン)は次のとおりです。

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

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

(時計で)最初のボタンをクリックするたびにgridMain.Childrenカウント値が増加することがわかりますが、画面には何も表示されません。

それはおそらく本当にばかげたものですが、異なるコードのスタックを検索して試す数時間は役に立ちませんでした。

前もって感謝します!

4

1 に答える 1

25
<ColumnDefinition Width="0"/>

幅を広げればボタンが見えるかもしれません。

于 2012-09-18T00:11:22.693 に答える