【问题标题】:Scrollviewer having issues with DockpanelScrollviewer 与 Dockpanel 有问题
【发布时间】:2012-01-07 15:53:34
【问题描述】:


我使用 Dockpanel 作为布局的主面板。顶部的工具栏设置为顶部,而侧面板设置为左侧。文档查看器设置为由 LastChildFill 填充。

问题是滚动查看器的高度不会随着窗口大小的调整而缩放。只有文档查看器可以。它似乎只会随着子内容的增加而扩展。我正在尝试模仿 Google Chrome 的打印布局。当孩子没有溢出窗口时,没有滚动条,但如果它小于窗口,滚动条将填满窗口。

代码如下:

<ToolBar Width="Auto" Height="35" DockPanel.Dock="Top" VerticalAlignment="Top" HorizontalAlignment="Stretch" Panel.ZIndex="10" Background="White">

<StackPanel Margin="5,0,0,0" Orientation="Horizontal">
    <Button Content="New" Style="{StaticResource MenuItem}"/>
    <Button Content="Save" Style="{StaticResource MenuItem}"/>
    <Button Content="Print" Style="{StaticResource MenuItem}"/>
    <Button Content="Delete" Style="{StaticResource MenuItem}"/>
    <Button Content="Export" Style="{StaticResource MenuItem}"/>
    <Border Style="{StaticResource SeparatorStyle}"/>
    <Button Content="Burn DVD" Style="{StaticResource MenuItem}"/>
    <Button Content="Open Folder" Style="{StaticResource MenuItem}"/>
    <Border Style="{StaticResource SeparatorStyle}"/>
    <Button Content="Next Patient" Style="{StaticResource MenuItem}"/>
</StackPanel> 

</ToolBar>

<ScrollViewer Background="White" x:Name="SidePanel" HorizontalAlignment="Left" Margin="0" VerticalAlignment="Top" Width="400" DockPanel.Dock="Left" Panel.ZIndex="2" Padding="10">
<StackPanel>
    <StackPanel.Resources>
    <Style TargetType="{x:Type TextBox}">
        <Setter Property="Margin" Value="0,10,0,0"/>
    </Style>
    </StackPanel.Resources>
<Label Content="Patient Report" Style="{StaticResource SidePanel_H1}" />
<Rectangle Style="{StaticResource SidePanel_HR}" />
<TextBox Text="DATA"/>
<TextBox Text="DATA"/>
<TextBox Text="DATA"/>
<TextBox Text="DATA"/>
<TextBox Text="DATA"/>
<TextBox Text="DATA"/>
<TextBox Text="DATA"/>
<TextBox Text="DATA"/>
<TextBox Text="DATA"/>
<TextBox Text="DATA"/>
<TextBox Text="DATA"/>
<TextBox Text="DATA"/>
<TextBox Text="DATA"/>
<TextBox Text="DATA"/>
<TextBox Text="DATA"/>

</StackPanel>
</ScrollViewer>

<Rectangle Height="Auto" Width="2" DockPanel.Dock="Left" Fill="#FFA0A0A0"/>

<DocumentViewer x:Name="dv1" AllowDrop="False" Cursor="Hand" Loaded="dv1_Loaded" MinWidth="600">
    <FixedDocument Focusable="False" x:Name="FD">
    </FixedDocument>
</DocumentViewer>


</DockPanel>

【问题讨论】:

    标签: c# wpf scrollviewer dockpanel


    【解决方案1】:

    设置VerticalAlignment="Stretch"或者去掉属性就可以了。

    DockPanel 只影响停靠的孩子的一个方向。在你的情况下,它是水平的。

    【讨论】:

    猜你喜欢
    • 2018-05-19
    • 2011-12-21
    • 1970-01-01
    • 2016-12-02
    • 2011-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多