Avalonia Window的起始點設定在滑鼠座標
Avalonia Window的起始點設定在滑鼠座標
資料來源: copilot
xaml
<Window xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="YourNamespace.MainWindow"
PointerPressed="Window_PointerPressed">
<StackPanel>
<TextBlock Text="Click anywhere to open a new window at mouse position" />
</StackPanel>
</Window>
code
using Avalonia;
using Avalonia.Controls;
using Avalonia.Input;
using Avalonia.Markup.Xaml;
namespace YourNamespace
{
public class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void InitializeComponent()
{
AvaloniaXamlLoader.Load(this);
}
private void Window_PointerPressed(object sender, PointerPressedEventArgs e)
{
// 獲取滑鼠座標
var pointerPosition = e.GetPosition(this);
// 創建並顯示新窗口
var newWindow = new Window
{
Width = 200,
Height = 100,
Topmost = true // 保持新窗口在最前
};
// 設定新窗口的起始位置
newWindow.Position = new PixelPoint((int)pointerPosition.X, (int)pointerPosition.Y);
newWindow.Show();
}
}
}