0

ユーザーがフォームのサイズを変更したときに、WPF フォームの最後の子をフォームと共に展開する際に問題が発生しています。最後の要素は、ドッキングされたいくつかのドックパネル (ネストされたドックパネル) の最後の要素です。私のドックパネルの理解は、ドッキングされていない最後の追加要素であり、提供されたスペースの残りを埋めるために拡張されます。ただし、間違ったコントロールを使用したり、XAML で表示されていないエラーが発生したりして、その動作を取得できません。任意の助けをいただければ幸いです。

私は XAML と WPF に慣れていないので、用語とコントロールの使用は少し粗いかもしれません。

<Grid>
    <TabControl Margin="1">
        <TabItem Header="TabItem">
            <DockPanel LastChildFill="True" Height="Auto">
                <Expander Header="Client Details" FlowDirection="RightToLeft" IsExpanded="True" Background="#FFC9C9B9" DockPanel.Dock="Top">
                    <Grid Grid.Row="0" FlowDirection="LeftToRight">
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="*"/>
                            <ColumnDefinition Width="*"/>
                        </Grid.ColumnDefinitions>
                        <StackPanel Grid.Column="0" Margin="3">
                            <Label Content="Client Name:" Padding="3"/>
                            <TextBox Padding="3"/>
                            <Label Content="SPA Number:" Padding="3"/>
                            <TextBox Padding="3"/>
                        </StackPanel>
                        <StackPanel Grid.Column="1" Margin="3">
                            <Label Content="Session ID:" Padding="3"/>
                            <TextBox Padding="3"/>
                            <Label Content="Agent Name:" Padding="3"/>
                            <TextBox Padding="3"/>
                        </StackPanel>
                    </Grid>
                </Expander>
                <DockPanel Margin="2" DockPanel.Dock="Top" Background="DarkGray">
                    <Button Content="Copy" Margin="2" DockPanel.Dock="Right" Padding="3"/>
                    <Button Content="New Session" Padding="3" Margin="2" FontWeight="Bold"/>
                    <Label Content="Session ID:" Padding="3" Margin="2" FontWeight="Bold"/>
                    <ComboBox Padding="3"/>
                </DockPanel>
                <DockPanel Margin="5" DockPanel.Dock="Top">
                    <Label Content="Session ID:"/>
                    <TextBox MinWidth="60" Padding="3"/>
                    <Label Content="Session Type:"/>
                    <ComboBox Padding="3"/>
                </DockPanel>
                <DockPanel Margin="5" DockPanel.Dock="Top" VerticalAlignment="Top">
                    <Label Content="Problem:" MinWidth="60"/>
                    <RichTextBox Padding="3" VerticalScrollBarVisibility="Auto" MaxHeight="100" MinHeight="80"/>
                </DockPanel>
                **<DockPanel Margin="5" VerticalAlignment="Top" Background="AliceBlue">
                    <Label Content="Notes:" MinWidth="60"/>
                    <RichTextBox Padding="3" VerticalScrollBarVisibility="Auto" MaxHeight="400" MinHeight="200"/>
                </DockPanel>**
            </DockPanel>
        </TabItem>
    </TabControl>
</Grid>

ネストされた DockPanels (** で囲まれた) のこのリストの最後の DockPanel は、フォームのスペースを埋めるために取得しようとしているものです。ただし、垂直方向にサイズ変更されますが、サイズ変更はまったくありません。

4

1 に答える 1

0

VerticalAlignment="Top"その最後のDockPanelからを削除します。ジャンプしてストレッチし、残りのスペース(MaxHeightとして最大400)を埋めます。

于 2012-12-06T13:12:56.783 に答える