0

我的滚动查看器有拉伸问题,我在停靠面板内有一个文本框和按钮以及我的滚动查看器,我想要这些项目下方的滚动查看器,但拉伸到停靠面板的宽度和从底部拉伸的高度将面板停靠到按钮和文本框。

所以我尝试了这个:

<UserControl x:Class="WpfApplication4.AppPages.FindStudent"
             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" 
             d:DesignHeight="300" d:DesignWidth="300" Loaded="UserControl_Loaded">
    <DockPanel Height="299" Width="289">
        <TextBox Height="23" Name="textBox1" Width="188" VerticalAlignment="Top"/>
        <Button Content="Button" Height="23" Name="button1" Width="100" Click="button1_Click" VerticalAlignment="Top" />
        <ScrollViewer VerticalScrollBarVisibility="Hidden" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Width="88">

然而,滚动查看器不知何故粘在右侧,如下所示:

在此处输入图像描述

4

2 回答 2

1

您需要使用附加属性告诉项目如何停靠DockPanel.Dock

像这样的东西:

<DockPanel>
    <StackPanel DockPanel.Dock="Top" Orientation="Horizontal">
        <TextBox />
        <Button />
    <StackPanel>
    <ScrollViewer DockPanel.Dock="Top" />
</DockPanel>

请注意,默认情况下,最后一个孩子DockPanel将填充剩余的可用空间。

于 2012-04-18T15:28:33.030 回答
1

我会回应 Jay 所说的,您需要通过设置来指定您希望控件如何停靠在 DockPanel 内部DockPanel.Dock。一些附加说明:

  • LastChildFill 将控制最后一个元素是否拉伸以填充剩余空间
  • 默认停靠在左侧
  • 控件列出的顺序将影响它们的停靠方式。

请参阅此处的MSDN 文档和此处的简单教程

于 2012-04-18T15:38:25.447 回答