1
<UserControl x:Class="DDCUI.CommDiagnosisWPFCtrl"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             mc:Ignorable="d" Height="950" Width="300">
    <DockPanel LastChildFill="True">
        <DataGrid DockPanel.Dock="Top" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto" Height="300" AutoGenerateColumns="False" Name="DGComm" CanUserResizeColumns="True" IsReadOnly="True" SelectedCellsChanged="DGComm_SelectedCellsChanged">
            <DataGrid.Columns>
                <DataGridTextColumn Header="No." Binding="{Binding Number}" Width="0.1*"/>
                <DataGridTextColumn Header="Time" Binding="{Binding Time}" Width="0.1*" />
                <DataGridTextColumn Header="Protocol" Binding="{Binding Protocol}" Width="0.15*" />
                <DataGridTextColumn Header="Source" Binding="{Binding Source}" Width="0.15*" />
                <DataGridTextColumn Header="Destination" Binding="{Binding Destination}" Width="0.15*" />
                <DataGridTextColumn Header="Data" Binding="{Binding Data}" Width="0.5*" />
            </DataGrid.Columns>
        </DataGrid>
        <TreeView DockPanel.Dock="Top" MinHeight="200" Name="TreeViewDecode"/>
        <RichTextBox Name="RtbHexCode"/>

    </DockPanel>
</UserControl>

何らかの理由で、DataGridのMaxHeightプロパティが機能していません。つまり、大きなテーブルをバインドすると、常にオーバーフローして、RichTextBoxとTreeViewが非表示になります(実際には、600ピクセルを超えて拡張して、垂直スクロールバーを表示するべきではありません)。

また、DataGridは水平スクロールバーを表示しません。

この問題を解決するにはどうすればよいですか?

編集:更新されたコード。MaxHeightプロパティは機能するようになりましたが、水平スクロールバーが表示されません

4

2 に答える 2

2

DataGridに以下を追加します

VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto"

また、StackPanelをDockPanelまたはグリッドに置き換えます。StackPanelは制約付きコンテナではありません。

于 2012-07-24T01:46:37.780 に答える
0

ウィンドウの高さは少なくとも950であるか、データグリッドのMaxHeightを450に設定するか、ウィンドウのSizeToContentをWidthAndHeightに設定する必要があります。これがお役に立てば幸いです。

于 2012-07-24T01:47:16.157 に答える