0

データグリッドを作成し、WPF フォームのスポットに配置しました。

今私がやろうとしているのは、データグリッドのサイズを変更して、元の配置と同じ比率を維持し、WPF ウィンドウのサイズを変更することです (うまくいけば、それは理にかなっています)。

autostretch を true に設定しようとしましたが、効果がありませんでした。

4

3 に答える 3

2

私のオフィスにVisualStudioを搭載したコンピューターを入手したので、テストできません:)しかし、配置を拡大するように設定した場合、これは機能しないはずですか?

datagridObj.Horizo​​ntalAlignment = System.Windows.Horizo​​ntalAlignment.Stretch; datagridObj.VerticalAlignment = System.Windows.VerticalAlignment.Stretch;

于 2013-02-26T01:19:50.143 に答える
2

確かにそれは理にかなっていますが、WPF レイアウト システムがどのように機能するかを本当に理解していないように聞こえます。理解しないと、先に進むのは非常に苦痛になります。簡単に言うと、適切なコンテナーが必要です (私は Grid をお勧めします)。DataGrid をそのコンテナーに配置します。次に、DataGrid の余白などを設定して好きなように配置できます。Width と Height が Auto に設定されている場合は、親コンテナーを保持します。

写真に他のコントロールがいくつかある場合は、もちろんもう少し複雑ですが、グリッドを維持し、必要な数の行と列に分割してから、それぞれの高さ/幅に適切な値を設定することをお勧めします-一部の列の幅を固定するか、他の列の倍数にするか、自動のままにしておくと、残りのスペースを占有します。

もちろん、トピックはもっと複雑ですが、MSDN で簡単な入門書を見つけることができます: http://msdn.microsoft.com/en-us/library/ms745058.aspx

1 つだけ覚えていれば、次のようになります。グリッドは WPF で流動的なレイアウトを表し、キャンバスではなく可能な限り使用します。もちろん、StackPanel や DockPanel などには独自の用途があります。

PSビジュアルスタジオのデザイナーは通常、ドラッグアンドドロップをより直感的にするためにマージンなどを設定することで、少し混乱させます。変更するプロパティに細心の注意を払い、物事を配置する方が良いかどうかを確認する必要がありますレイアウトをスケッチしたら、手動で XAML を変更します (通常はそうです)。

于 2013-02-26T01:35:50.403 に答える
0

例として

<Window x:Class=""
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        <DataGrid Margin="162,57,141,54"/>
    </Grid>
</Window>

デフォルトでは aDataGrid

HorizontalAlignment="Stretch" 
VerticalAlignment="Stretch"

Arno Saxenaが言ったようにマージンだけが必要です

于 2013-03-11T15:35:02.490 に答える