<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属性现在可以工作,但水平滚动条不显示
答案 0 :(得分:2)
将以下内容添加到DataGrid
VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto"
还用DockPanel或Grid替换StackPanel。 StackPanel不是受约束的容器。
答案 1 :(得分:0)
窗口的高度必须至少为950或将Datagrid的MaxHeight设置为450或将Window的SizeToContent设置为WidthAndHeight。我希望这将有所帮助。