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

如何在WPF中添加图示窗口?WPF新手技术咨询

WPF 添加可停靠工具窗口的实现方法

你提到的这类窗口一般是可停靠的工具面板(类似Visual Studio的侧边/底部功能窗口),给你两种实用的实现方案:

  • 原生WPF控件自定义实现
    要是不需要复杂功能,可以用DockPanel搭配Expander、Grid来快速模拟基础停靠效果:

    <DockPanel>
        <!-- 主工作区域 -->
        <Grid DockPanel.Dock="Center">
            <TextBlock Text="主内容区" HorizontalAlignment="Center" VerticalAlignment="Center"/>
        </Grid>
        <!-- 左侧可折叠停靠窗口 -->
        <Expander DockPanel.Dock="Left" Width="200" Header="工具面板">
            <StackPanel>
                <Button Content="功能按钮1"/>
                <Button Content="功能按钮2"/>
            </StackPanel>
        </Expander>
        <!-- 底部停靠窗口 -->
        <Grid DockPanel.Dock="Bottom" Height="100" Background="#f0f0f0">
            <TextBlock Text="状态信息区" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="10"/>
        </Grid>
    </DockPanel>
    

    这种方式适合简单场景,但没有拖拽停靠、自动隐藏等进阶功能。

  • 第三方专业库实现
    要做专业的可拖拽停靠、多标签切换、自动隐藏这类功能,推荐用Windows平台专用的WPF第三方库:

    • AvalonDock:WPF生态里最流行的开源停靠库,功能完整且免费,支持各种复杂布局需求。
    • DevExpress Docking:商业化控件库,自带多种预设样式和高级功能,适合企业级项目(需授权)。

    以AvalonDock为例,基础用法示例:

    <xcad:DockingManager>
        <xcad:LayoutRoot>
            <xcad:LayoutPanel Orientation="Horizontal">
                <!-- 主文档窗口 -->
                <xcad:LayoutDocumentPane>
                    <xcad:LayoutDocument Title="主工作页">
                        <TextBlock Text="核心工作内容"/>
                    </xcad:LayoutDocument>
                </xcad:LayoutDocumentPane>
                <!-- 左侧可停靠工具窗口 -->
                <xcad:LayoutAnchorPane DockWidth="220">
                    <xcad:LayoutAnchorable Title="工具面板">
                        <StackPanel>
                            <CheckBox Content="启用功能A"/>
                            <Button Content="执行操作"/>
                        </StackPanel>
                    </xcad:LayoutAnchorable>
                </xcad:LayoutAnchorPane>
            </xcad:LayoutPanel>
        </xcad:LayoutRoot>
    </xcad:DockingManager>
    

    使用前需要通过NuGet安装Xceed.Wpf.AvalonDock包,就能快速实现专业级的停靠窗口效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 19:42:12