0

初めての実際の WPF デスクトップ アプリケーションを開発したいと考えています。.NET 2.0 と Windows Forms で開発された前回のデスクトップ アプリケーションからかなりの時間が経ちました。新しいデスクトップ アプリケーションを開発する必要があり、.NET 4.0 を利用できるので、WPF を使用したいと思っています。

オンラインのチュートリアルとドキュメントを読んで正しい方法を選択していますが、新しいコントロールに少し戸惑っています。

基本的に、データグリッドの上にいくつかのテキストボックスとラベルを表示するパネルが必要です。gridpanel コントロールでそのような結果を達成できると思いますか? ありがとうございました。

サンプル

4

2 に答える 2

3

WPF では、通常、いくつかの異なるコントロールを使用します。WPF のコントロール コンポジションは主要な機能であり、それを知って活用することで多くのことを得ることができます。

あなたの画面を見るとき、私はそれを 2 つの主要な部分に分けます: - カンピ ディ リセルカ - 結果

これらの 2 つの場合、2 行 1 列のグリッドを使用します。リセルカ領域では、ヘッダーが上部に配置された DockPanel と、別の Grid With Fill コンテンツを使用できます。

...などなど。

私の最善のアドバイスは、 WPF コンポジションについて学ぶことです。

少しでもお役に立てば幸いです

于 2012-01-20T12:11:48.190 に答える
1

はい、複数の行と列を持つGridを使用する必要があります。

MSDN の例を参照してください

        <Grid VerticalAlignment="Top" HorizontalAlignment="Left" ShowGridLines="True" Width="250" Height="100">
            <Grid.ColumnDefinitions>
                <ColumnDefinition />
                <ColumnDefinition />
                <ColumnDefinition />
            </Grid.ColumnDefinitions>
            <Grid.RowDefinitions>
                <RowDefinition />
                <RowDefinition />
                <RowDefinition />
                <RowDefinition />
            </Grid.RowDefinitions>

            <TextBlock FontSize="20" FontWeight="Bold" Grid.ColumnSpan="3" Grid.Row="0">2005 Products Shipped</TextBlock>
            <TextBlock FontSize="12" FontWeight="Bold" Grid.Row="1" Grid.Column="0">Quarter 1</TextBlock>
            <TextBlock FontSize="12" FontWeight="Bold" Grid.Row="1" Grid.Column="1">Quarter 2</TextBlock>
            <TextBlock FontSize="12" FontWeight="Bold" Grid.Row="1" Grid.Column="2">Quarter 3</TextBlock>
            <TextBlock Grid.Row="2" Grid.Column="0">50000</TextBlock>
            <TextBlock Grid.Row="2" Grid.Column="1">100000</TextBlock>
            <TextBlock Grid.Row="2" Grid.Column="2">150000</TextBlock>
            <TextBlock FontSize="16" FontWeight="Bold" Grid.ColumnSpan="3" Grid.Row="3">Total Units: 300000</TextBlock>
        </Grid>
于 2012-01-20T12:04:00.537 に答える