WPF窗口设置无边框,并清除上部白边


一、设置窗口无边框

只需在xaml的window标签中,添加WindowStyle="None"属性,即可去掉上部标题栏

<Window x:Class="WpfRiUi.module.CheckoutBox"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:WpfRiUi.module" xmlns:hc="https://handyorg.github.io/handycontrol" xmlns:shell="http://schemas.microsoft.com/winfx/2006/xaml/presentation/shell"
        mc:Ignorable="d"
        WindowStartupLocation="CenterScreen"
        Title="CheckoutBox" Height="550" Width="520"  WindowStyle="None">
       <Grid>
			...............
		</Grid>
</Window>

二、去上部白边

这样设置后,你会发现在程序运行时,窗口上边会有一条白,非常难受。

1.引入库

使用 WPF Shell 解决,下载 官网地址找不到了,从nugget下载https://www.nuget.org/packages/WPF.Shell.Integration.Library

2.在xaml中使用

代码如下:

<Window x:Class="WpfRiUi.module.CheckoutBox"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:WpfRiUi.module" xmlns:hc="https://handyorg.github.io/handycontrol" xmlns:shell="http://schemas.microsoft.com/winfx/2006/xaml/presentation/shell"
        mc:Ignorable="d"
        WindowStartupLocation="CenterScreen"
        Title="CheckoutBox" Height="550" Width="520" WindowStyle="None">
    <shell:WindowChrome.WindowChrome>
        <shell:WindowChrome CaptionHeight="1" ResizeBorderThickness="1">
        </shell:WindowChrome>
    </shell:WindowChrome.WindowChrome>
    </window>

总结

到此,完成了设置,非常好用!!!

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
好的,您可以参考以下代码将Excel表格嵌入WPF窗口中: 在WPF窗口的XAML文件中添加一个WindowsFormsHost控件,用于承载Excel表格: ```xml <Window ... xmlns:winforms="clr-namespace:System.Windows.Forms.Integration;assembly=WindowsFormsIntegration"> <Grid> <winforms:WindowsFormsHost x:Name="windowsFormsHost" /> </Grid> </Window> ``` 在窗口的后台代码中,使用Microsoft.Office.Interop.Excel库通过以下代码打开Excel文档,并将其显示到WindowsFormsHost控件中: ```csharp using System.Windows.Forms; using Microsoft.Office.Interop.Excel; using Application = Microsoft.Office.Interop.Excel.Application; ... // 定义一个Excel应用程序对象 Application excel = new Application(); // 打开Excel文档 Workbook workbook = excel.Workbooks.Open("your_excel_file_path"); // 获取工作表 Worksheet worksheet = workbook.Worksheets["Sheet1"]; // 将工作表嵌入到WindowsFormsHost控件中 var hwnd = windowsFormsHost.Handle; var handle = new IntPtr(hwnd.ToInt32()); var range = worksheet.UsedRange; range.CopyMissingValues = true; range.Copy(); var dataObject = Clipboard.GetDataObject(); if (dataObject != null) { var olePackage = dataObject.GetData("Object Descriptor") as System.IO.MemoryStream; if (olePackage != null) { var document = new IDocumentPreviewFactory().Create(olePackage.ToArray()); Previewer.Document = document; } } workbook.Close(); excel.Quit(); ``` 注意:在使用这段代码之前,您需要安装Microsoft Office Excel并将其添加到WPF项目的引用列表中。另外,您还需要将InterOp库添加到项目引用中。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值