随笔 - 99,  文章 - 0,  评论 - 0,  阅读 - 44192

应要求不用WPF自带的边框以及最小化、最大化和关闭。自己写的,且只需要关闭

在设置WindowStyle="None"取消边框后,(另外设置AllowsTransparency=”True”,可以把多余的黑边去除。)

发现无法移动。而且显示也不是居中。这些都好解决

1.居中

public partial class MainWindow : Window
{
  public MainWindow()
  {
    WindowStartupLocation = WindowStartupLocation.CenterScreen;
    InitializeComponent();
  }
}

2.移动

protected override void OnMouseLeftButtonDown(MouseButtonEventArgs e)
{
  base.OnMouseLeftButtonDown(e);

  // Begin dragging the window
  this.DragMove();
}

官方DragMove

https://docs.microsoft.com/zh-cn/dotnet/api/system.windows.window.dragmove?view=netframework-4.8

其它可以参考:

https://www.cnblogs.com/xietianjiao/p/7325137.html

 

但最后遇到一个问题没有解决:

在移动后因为操作系统功能,在窗体接触屏幕边缘时会全屏显示,但这个时候我没法再移动窗体。

以为如果是用自带边框,相当于我能在全屏后拖住边框,还能取消全屏。

但无边框的话真不知道怎么操作

唯一在网上看到一条可能是解决方法的方案,但没时间研究了,就先附上

https://blog.csdn.net/qq_19764639/article/details/96125324

https://docs.microsoft.com/zh-cn/dotnet/api/system.windows.shell.windowchrome?redirectedfrom=MSDN&view=netframework-4.5#%E5%AE%9A%E4%B9%89

 

 

关于关闭是使用了button按键

 

 

里面参数:

  • SnapsToDevicePixels以在整个 UI 上启用像素对齐呈现。 对于运行在大于 96 dots per inch (dpi) 的设备,像素对齐呈现可以最小化在单一实线附近出现的抗锯齿视觉瑕疵。

https://www.cnblogs.com/liancs/archive/2012/06/15/3879272.html

https://blog.csdn.net/dearbigdog/article/details/12002525

  •  RecognizesAccessKey:是否识别特殊字符(eg.下划线)

WPF中的RecognizesAccessKey问题 - 走遍江湖 - 博客园 (cnblogs.com)

  • Stroke:虚线颜色
  • radiusx和radiusY:对于椭圆来说,就是a和b的长

 

 

 

posted on   rin_riceroll  阅读(60)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示