主界面: BGA检测按钮关联、ContextMenu动态创建支持条件阻止

This commit is contained in:
李伟
2026-04-28 17:38:46 +08:00
parent d8dc30b9b9
commit ca67cbde2b
4 changed files with 51 additions and 16 deletions
@@ -31,6 +31,32 @@ namespace XplorePlane.Views
InitializeComponent();
DataContextChanged += OnDataContextChanged;
// 动态创建右键菜单,支持条件性阻止弹出
var menu = new System.Windows.Controls.ContextMenu();
menu.Items.Add(new System.Windows.Controls.MenuItem { Header = "放大" });
menu.Items.Add(new System.Windows.Controls.MenuItem { Header = "缩小" });
menu.Items.Add(new System.Windows.Controls.MenuItem { Header = "适应窗口" });
menu.Items.Add(new System.Windows.Controls.Separator());
menu.Items.Add(new System.Windows.Controls.MenuItem { Header = "保存原始图像" });
menu.Items.Add(new System.Windows.Controls.MenuItem { Header = "保存结果图像" });
menu.Items.Add(new System.Windows.Controls.Separator());
menu.Items.Add(new System.Windows.Controls.MenuItem { Header = "清除所有测量" });
((System.Windows.Controls.MenuItem)menu.Items[0]).Click += ZoomIn_Click;
((System.Windows.Controls.MenuItem)menu.Items[1]).Click += ZoomOut_Click;
((System.Windows.Controls.MenuItem)menu.Items[2]).Click += ResetView_Click;
((System.Windows.Controls.MenuItem)menu.Items[4]).Click += SaveOriginalImage_Click;
((System.Windows.Controls.MenuItem)menu.Items[5]).Click += SaveResultImage_Click;
((System.Windows.Controls.MenuItem)menu.Items[7]).Click += ClearAllMeasurements_Click;
RoiCanvas.ContextMenu = menu;
RoiCanvas.ContextMenuOpening += (s, e) =>
{
if (RoiCanvas.SuppressContextMenu)
{
RoiCanvas.SuppressContextMenu = false;
e.Handled = true;
}
};
// 测量事件 → 更新主界面状态栏
RoiCanvas.MeasureCompleted += (s, e) =>
{