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(); } } }