0

私はまだC#とWPFを学んでいて、自分のWindowsアプリケーションを作成しようとしています。WPFアプリのレイアウトを作成するための最良の方法についての質問に対する簡単で直接的な答えを見つけられたらいいのにと思います。画像をご覧ください。私の質問は次のとおりです。

  • 私の状況で適切なコントロールコンテナは何ですか?アプリケーションのレイアウトを定義できるパネルとコンテナのオプションがたくさんあります...しかし、最良の選択は何ですか?

  • その変更可能な部分の最良の選択は何ですか。ページ、ウィンドウ、ナビゲーションウィンドウ?その部分にナビゲーションコントロールは必要ありませんが

  • 右側のパネルのいずれかのボタンを押した後、その変更可能な部分に特定のページを表示させるにはどうすればよいですか?その部分をこれらの変更可能なページにリンクする方法は?

  • C#WPFは、オンライン/オフラインで動作するアプリケーションの設計に役立ちますか?

ここに画像の説明を入力してください

4

1 に答える 1

0

私があなたのケースに合うように提案するレイアウトは、グリッドを使用してパネルを構造化し、中央部分の自動サイズ変更と、ボタンをグループ化するためのStackPanelsの使用を取得することです。

原則として、レイアウトスケルトンを構造化するためにグリッドとDockPanelを使用することをお勧めします。グリッドの列と行のサイズの*オプションは、ウィンドウのサイズ変更の影響を受けないレイアウトを提供するのに非常に便利です。

これは、レイアウトのWPF複製のクイックプレビューです。

ここに画像の説明を入力してください

これが、このレイアウトを取得するために使用したXAMLです(ボタンを削除しました)

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="40"/>
        <RowDefinition Height="24"/>
        <RowDefinition Height="*"/>
        <RowDefinition Height="24"/>
    </Grid.RowDefinitions>
    <Grid Grid.Row="0" Background="LightPink">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*"/>
            <ColumnDefinition Width="Auto"/>
        </Grid.ColumnDefinitions>
        <TextBlock Grid.Column="0" Text="Hello World"/>
        <StackPanel Grid.Column="1" Orientation="Horizontal">
            <!-- Top Right Button Panel -->
        </StackPanel>
    </Grid>
    <Grid Grid.Row="1" Background="LightBlue"/>
    <Grid Grid.Row="2" Background="LightGray">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*"/>
            <ColumnDefinition Width="100"/>
        </Grid.ColumnDefinitions>
        <TextBlock Grid.Column="0" Text="Hello World"/>
        <StackPanel Grid.Column="1" Orientation="Vertical">
            <!-- Left Button Panel -->
        </StackPanel>
    </Grid>
    <Grid Grid.Row="4" Background="LightPink"/>
</Grid>
于 2012-12-23T23:45:16.483 に答える