You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

UWP中无法同时显示Button与WebView2的问题咨询

解决UWP中WebView2与Button无法同时显示的问题

问题根源

  1. 使用StackPanel的情况:StackPanel默认根据子元素内容高度布局,WebView2(你代码里写的<WebView>应为<WebView2>)初始未加载内容时高度为0,因此被隐藏。
  2. 直接放入Grid的情况:WebView2设置了Stretch会占满整个Grid,而Grid默认所有子元素处于同一单元格,WebView2会覆盖在Button上方,导致Button不可见。

解决方案1:上下布局(Button在顶部,WebView2占下方空间)

用Grid的行定义分配空间,让按钮和WebView2各占一行:

<Grid Background="LightBlue">
    <Grid.RowDefinitions>
        <!-- 按钮行:高度自适应内容 -->
        <RowDefinition Height="Auto"/>
        <!-- WebView2行:占剩余全部空间 -->
        <RowDefinition Height="*"/>
    </Grid.RowDefinitions>

    <Button
        x:Name="MyButton"
        Padding="0,10"
        AccessKey="R"
        Click="DoStuff"
        Style="{StaticResource StuffButton}"
        ToolTipService.ToolTip="Do Stuff">
        <Button.KeyboardAccelerators>
            <KeyboardAccelerator Key="R" Modifiers="Control" />
        </Button.KeyboardAccelerators>
    </Button>

    <WebView2
        Name="MyWebView"
        Grid.Row="1"
        HorizontalAlignment="Stretch"
        VerticalAlignment="Stretch"/>
</Grid>

解决方案2:悬浮布局(Button在WebView2上方)

让Button悬浮在WebView2的指定位置(比如右上角),不遮挡核心内容:

<Grid Background="LightBlue">
    <!-- WebView2先放,占满整个Grid -->
    <WebView2
        Name="MyWebView"
        HorizontalAlignment="Stretch"
        VerticalAlignment="Stretch"/>

    <!-- Button后放,处于WebView2上层,设置对齐方式和边距 -->
    <Button
        x:Name="MyButton"
        Margin="10"
        Padding="0,10"
        AccessKey="R"
        Click="DoStuff"
        Style="{StaticResource StuffButton}"
        ToolTipService.ToolTip="Do Stuff"
        HorizontalAlignment="Right"
        VerticalAlignment="Top">
        <Button.KeyboardAccelerators>
            <KeyboardAccelerator Key="R" Modifiers="Control" />
        </Button.KeyboardAccelerators>
    </Button>
</Grid>

注意事项

你代码中使用的<WebView>是旧版WebView控件,若你实际用的是WebView2,务必替换为<WebView2>,避免控件特性差异导致的问题。

内容的提问来源于stack exchange,提问作者Vague

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 11:35:31