我的WPF应用程序有一个包含ListBox
的窗口。由于某种原因,我不明白,它插入项目后,今天开始在屏幕上增长。我希望它的高度保持固定,我不希望每次插入一个项目时它都会增长。
这是窗口的XAML:
<Viewbox Stretch="Uniform">
<Grid Background="{DynamicResource WindowBackground}"
Name="LayoutRoot">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid Background="{DynamicResource AlarmTitleBackground}"
Grid.Row="0"
MouseLeftButtonDown="LeftMouseButtonDown">
. . .
</Grid>
<Rectangle Fill="{DynamicResource AlarmTitleBackground}"
Grid.Row="1"
Height="4" />
<Grid Background="{DynamicResource ControlBackground}"
Grid.Row="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid FocusManager.IsFocusScope="True"
Grid.Column="0"
Grid.Row="0"
Name="PendingAlarmScope">
<ListBox Background="{DynamicResource TextBackground}"
HorizontalContentAlignment="Center"
IsSynchronizedWithCurrentItem="True"
Margin="5"
MinWidth="185"
VerticalAlignment="Stretch"
Name="AlarmsList"
SelectionChanged="AlarmsList_SelectionChanged" />
</Grid>
. . .
</Grid>
</Grid>
</Viewbox>
我在博客中发现了一篇关于TextBox
的帖子,该帖子随着字符的输入而不断增长。作者表示,TextBox
位于ScrollViewer
,HorizontalScrollBarVisibility
属性设置为“自动”。他们把它改成了“残疾人”,并为他们修好了。我尝试添加另一个控件的ScrollViewer.VerticalScrollBarVisiblility="Disabled" to the xaml but this didn't work. I also tried binding the
ListBox的MaxHeight property to the
ActualHeight`,它与我想要的高度相同。那也行不通。
如何在不设置的情况下修复Height
的{{1}}?我希望ListBox
始终填充它所在的ListBox
单元格,以及为不同的屏幕分辨率增长和重新缩放的窗口。
答案 0 :(得分:1)
<Grid Background="{DynamicResource ControlBackground}"
Grid.Row="2">
<Grid.RowDefinitions>
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
对于grins你会尝试删除视图框和其他一些东西
<Grid Background="{DynamicResource WindowBackground}"
Name="LayoutRoot">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Rectangle Fill="{DynamicResource AlarmTitleBackground}"
Grid.Row="1"
Height="4" />
<ListBox Grid.Row="2" Background="{DynamicResource TextBackground}"
HorizontalContentAlignment="Center"
IsSynchronizedWithCurrentItem="True"
Margin="5"
MinWidth="185"
VerticalAlignment="Stretch"
Name="AlarmsList"
SelectionChanged="AlarmsList_SelectionChanged" />
</Grid>
答案 1 :(得分:1)
经过几个小时的尝试,我终于咬紧牙关&amp;将Height
的{{1}}设置为我在使用Snoop开始增长之前找到的值。每次插入新项目时,都会阻止它增长。这是我能找到的唯一有用的东西。这是一个非常令人沮丧的日子。