【问题标题】:WPF WebBrowser MinHeightWPF WebBrowser 最小高度
【发布时间】:2015-11-11 16:06:46
【问题描述】:

似乎 WPF WebBrowser 控件的内置最小高度为 150。

您可以明确设置高度,它会遵守,但在 * 布局中它不会调整到小于 150。

简化我的 xaml 看起来像这样(去除颜色、边框等)

edit1:添加了ItemsControl(似乎导致这个或与问题有关,网络浏览器是否加载html文件无关紧要)

    <ItemsControl>
        <ItemsControl.Template>
            <ControlTemplate>
                <ScrollViewer x:Name="ScrollViewer" VerticalScrollBarVisibility="Hidden" HorizontalScrollBarVisibility="Auto">
                    <ItemsPresenter />
                </ScrollViewer>
            </ControlTemplate>
        </ItemsControl.Template>
        <ItemsControl.ItemsPanel>
            <ItemsPanelTemplate>
                <StackPanel Orientation="Horizontal"/>
            </ItemsPanelTemplate>
        </ItemsControl.ItemsPanel>
        <Grid Grid.Row="1">
            <Grid.RowDefinitions>
                <RowDefinition Height="*"/>
                <RowDefinition Height="*"/>
            </Grid.RowDefinitions>
            <WebBrowser Grid.Row="0" Name="WebBrowserStartPage" Source="pack://siteoforigin:,,,/StartPage.html" />
            <ListBox Grid.Row="1" />
        </Grid>
    </ItemsControl>

设置 MinHeight 似乎被忽略了。
还有其他方法可以设置调整大小的最小高度吗?

【问题讨论】:

  • 我刚刚测试了您的示例,它按预期工作。 ListBox 和 WebBrowser 将大小调整为 0 的高度。顺便说一句,您在 itemsSource 绑定中缺少大括号。
  • 似乎我已经剥离了大部分 xaml...周围还有很多其他用户控件和主题 devexpress 控件...我将尝试在一个小型测试应用程序中重现这一点,谢谢提示!
  • 似乎是 ItemsControl 导致了这个问题...... Grid 通常在 UserControl 中,而 ItemsControl 加载了这些 UserControls 的 List...... 我只是试图将代码减少到最重要的部分...

标签: c# wpf webbrowser-control


【解决方案1】:

经过更多测试后,我发现将 VerticalScrollBarVisibility 设置为 Disabled 可以解决该问题...

也许这对遇到此问题的人有所帮助...

<ScrollViewer x:Name="ScrollViewer" VerticalScrollBarVisibility="Disabled" HorizontalScrollBarVisibility="Auto">

我仍然不知道为什么 WebBrowser 在 150 时停止调整大小...可能是一些神奇的 Microsoft 数字?

【讨论】:

  • 根据this 发布的WebBrowser 控件不是真正的WPF 控件。也许这会导致问题。尝试使用其他网络浏览器,例如 WPF Chromium
猜你喜欢
  • 2012-10-24
  • 1970-01-01
  • 1970-01-01
  • 2011-08-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多