【问题标题】:WPF XAML ScrollViewer doing weird formatting of existing gridsWPF XAML ScrollViewer 对现有网格进行奇怪的格式化
【发布时间】: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/…

标签: c# wpf xaml


【解决方案1】:

第一个 DockPanel 你应该设置 LastChildFIll="true"

<DockPanel LastChildFill="True">

码头也应该设置在左边,不知道面板里面有什么

DockPanel.Dock="左"

和网格

<Grid Margin="0,0,0,0" Name="BottomGrid" DockPanel.Dock="Bottom">

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-15
    • 2015-11-02
    • 1970-01-01
    • 1970-01-01
    • 2011-10-25
    • 1970-01-01
    相关资源
    最近更新 更多