Button_click 事件无故再次触发(涉及条码 reader)

Button_click event fired again without reason (Barcode reader involved)

我在点击代码隐藏的按钮时显示一个向导。

private void Button_Click(object sender, RoutedEventArgs e)
{
     Wizard myWizard = new Wizard();
     myWizard.ShowDialog();    
     if (myWizard.DialogResult != true)   
     {
         return;
     }
}

向导window在命令中作为参数传递

void Switch2NextPage(object CallerWindow)
{
    WizardWindow = (System.Windows.Window)CallerWindow;
}     

在向导的 ViewModel 中,如果在文本字段中输入了特定文本,我将尝试关闭对话框。

public string OrderNr
{
    get
    {
        return _OrderNr;
    }
    set
    {
        _OrderNr = value;
        if (Orders.FirstOrDefault((order) => order.OrderNr == value) != null)
        {
            myNewOrder = Orders.FirstOrDefault((order) => order.OrderNr == value);
            WizardWindow.DialogResult = true;
            WizardWindow.Close();
        }
        myNewOrder.OrderNr = value;
        RaisePropertyChanged("OrderNr");
    }
}

对话框关闭,按钮的点击事件以某种方式再次触发。

Callstack 仅显示 "external code" 和点击处理程序。

我不知道该如何处理。

感谢任何帮助!

涉及的条码reader不仅发送了代码,还发送了另一个CrLf(输入键)。

这会在关闭向导后再次触发聚焦控件(启动向导)。

感谢@JeffRSon 和@dymanoid