【发布时间】:2017-01-04 20:20:04
【问题描述】:
我在 .NET 4.5 上运行 Windows 10。简而言之,我想将我的 DockPanel 包装在 ScrollViewer 中,这样我就可以滚动查看“掉”出页面的内容,尤其是在用户可能有一个小屏幕的情况下。我不能发布一堆代码,否则我会遇到很多麻烦......所以我希望这是发生在某人身上的事情,他们已经想出了该怎么做。在“不带”滚动条的代码图像下方,然后按该顺序“带”。从字面上看,唯一的变化是 ScrollViewer。
<ScrollViewer HorizontalScrollBarVisibility="Visible" VerticalScrollBarVisibility="Auto">
<DockPanel Visibility="Visible">
<DockPanel Name="MenuBarDockPanel" Visibility="Visible" DockPanel.Dock="Top" KeyboardNavigation.TabNavigation="None" Height="26">
...
</DockPanel>
<DockPanel Name="MenuBarOptions" DockPanel.Dock="Top" KeyboardNavigation.TabNavigation="None" Height="65">
...
</DockPanel>
<Grid Margin="0,0,0,0" Name="BottomGrid">
....
</Grid>
</DockPanel>
</ScrollViewer>
...抱歉所有的编辑...我别无选择。
您可以看到其中两个网格被夹到了不合适的位置。没有其他代码更改。希望有人可以提供帮助。谢谢。
【问题讨论】:
-
我不太确定您指的是什么网格,以及您所说的“夹在不合适的位置”是什么意思。你说的是右边的网格吗?
-
@Carson:如果您查看第一张图像的右上角,网格具有预期的间距,但其下方的间距全部向左挤压。灰色/白色条纹的也一样:第一个被展开并且可读,但下面的被压扁到左边。我所做的只是添加 ScrollViewer,然后它就被冲洗掉了。我可以使用 MinWidth 强制布局,但这不是最佳修复,它会出现滚动条并且格式保持不变。谢谢。
-
HorizontalScrollBarVisibility="Auto"时是否遇到同样的问题?另外,您在这些网格上设置了HorizontalAlignment吗? -
由于您必须设置
MinWidth以强制宽度正确,我的假设是 ScrollViewer 会影响子组件的宽度。这里发生了一个类似的(似乎以您认为令人满意的方式未解决)的问题stackoverflow.com/questions/17875765/…