WPF禁止鼠标更改窗口大小
时间: 2023-07-18 08:27:03 浏览: 47
如果你想禁止用户通过鼠标拖动边框来改变 WPF 窗口的大小,可以在窗口的代码中捕获鼠标事件,然后取消事件的默认行为。具体代码如下:
```
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
this.MouseMove += Window_MouseMove;
}
private void Window_MouseMove(object sender, MouseEventArgs e)
{
if (e.LeftButton == MouseButtonState.Pressed)
{
this.Cursor = Cursors.Arrow;
e.Handled = true;
}
}
}
```
这段代码会在窗口的 MouseMove 事件中检测鼠标左键是否被按下,如果是,则将鼠标的样式设置为箭头,并且取消事件的默认行为。这样就可以禁止用户通过鼠标拖动边框来改变窗口的大小了。
相关问题
WPF禁止鼠标双击边框全屏
好的,我明白了。关于您的问题,您可以在 WPF 应用程序的 Window 类的 XAML 文件中,设置 AllowTransparency="True" 以及 WindowStyle="None" 来自定义窗口边框。这样就可以禁止鼠标双击边框全屏了。您可以尝试一下。
wpf 实现鼠标改变 rectangle大小 完整工程
下面是一个完整的WPF工程,实现了鼠标改变Rectangle大小的功能。
.xaml:
```xml
<Window x:Class="WpfApp1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="450" Width="800">
<Grid>
<Rectangle x:Name="rect" Fill="Red" Width="100" Height="100"/>
<Thumb x:Name="resizeThumb" Width="10" Height="10" Cursor="SizeNWSE" DragDelta="resizeThumb_DragDelta"/>
</Grid>
</Window>
```
MainWindow.xaml.cs:
```csharp
using System.Windows;
using System.Windows.Controls.Primitives;
using System.Windows.Input;
namespace WpfApp1
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void resizeThumb_DragDelta(object sender, DragDeltaEventArgs e)
{
rect.Width += e.HorizontalChange;
rect.Height += e.VerticalChange;
}
}
}
```
在代码中,我们使用了一个Grid作为容器,放置一个Rectangle和一个Thumb控件。其中resizeThumb控件用于改变Rectangle的尺寸。
然后,在代码中实现resizeThumb_DragDelta事件处理函数,实现改变尺寸操作。
运行工程,可以看到一个红色的矩形,可以使用resizeThumb控件改变矩形的尺寸。