为了简单起见,我所做的就是放置一个 listbox
并在其下方放置一个按钮。虽然它看起来很简单,但事实并非如此。它不是,因为它在一个 GRID...
行的大小是星星的大小,listbox
的 verticalAlign
顶部一直很好用。问题是我不能在它下面添加一个按钮。有一个 2 行的网格,一个星形高度和另一个自动将按钮放在表单的底部,即使 listbox
内容很少。调整大小时尝试将两行都设置为自动不起作用,因为在 listbox
中看不到滚动条...。有什么解决方法吗??
更新一些代码
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<DockPanel >
<ListBox DockPanel.Dock="Top" Name="lbStaff" ItemsSource="{Binding}"
Grid.Row="0" VerticalAlignment="Top" BorderThickness="0"
Background="WhiteSmoke" Margin="15,10,20,30" Style="{DynamicResource
ListBoxUsers}" ScrollViewer.VerticalScrollBarVisibility="Visible">
<ListBox.Resources>
<Style TargetType="{x:Type ListBoxItem}" BasedOn="{StaticResource
ListBoxTest1}"></Style>
</ListBox.Resources>
<ListBox.ItemTemplate>
<DataTemplate >
<StackPanel Margin="5,4,5,4">
<TextBlock HorizontalAlignment="Stretch" FontSize="16"><Run
Text="{Binding Name}"/> - <Run Text="{Binding Mode=OneWay,
Path=PositionString}"/></TextBlock>
<TextBlock >Τηλέφωνο <Run Text="{Binding Phone}"/>
</TextBlock>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<Button DockPanel.Dock="Top" Grid.Row="0" HorizontalAlignment="Right"
VerticalAlignment="Top" Margin="0,10,7,0" Style="{DynamicResource
ButtonStyleNew1}">
<Button.Content>
<StackPanel Orientation="Horizontal">
<Image Source="/WpfApplication1;component/Images/filenew1.png"
Stretch="None" VerticalAlignment="Center"></Image>
<TextBlock Margin="5,0,0,0" FontSize="16">Προσθήκη Χρήστη</TextBlock>
</StackPanel>
</Button.Content>
</Button>
</DockPanel>
</Grid>
</Grid>
最佳答案
我通常做的不是使用网格行,而是使用 DockPanel,您可以通过嵌套每个元素来调整对齐方式。但这又完全取决于设计师如何使用网格行或任何其他方式进行设计。我从以下代码中得到的问题应该可以帮助您。 但如果您发布一些代码,那么我们就可以找出实际问题所在。
<Grid x:Name="LayoutRoot">
<Grid.RowDefinitions>
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<DockPanel>
<DockPanel DockPanel.Dock="Top">
<ListBox Height="50"/>
</DockPanel>
<DockPanel DockPanel.Dock="Bottom">
<Button Height="20" DockPanel.Dock="Top"/>
<Label/>
</DockPanel>
</DockPanel>
</Grid>
关于WPF 高度和滚动列表框 - 不可能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7591236/