机器人控制器双击事件未分配值

时间:2014-05-19 11:06:26

标签: c# wpf robotics

您好我在WPF C#中编写了一个程序来扫描机器人控制器,显示它们的数据,然后在按下特定按钮时开始和停止运行。

我可以扫描并显示信息,但是当我双击列表视图项时,其信息未分配给controller

    private void listView1_DoubleClick(object sender, MouseButtonEventArgs e)
    {
        ListViewItem item = sender as ListViewItem; //this.listView1.SelectedItems[0];
        if (item != null)
        {
            ControllerInfo controllerInfo = (ControllerInfo)item.Tag;
            if (controllerInfo.Availability == Availability.Available)
            {
                if (controllerInfo.IsVirtual)
                {
                    this.controller = ControllerFactory.CreateFrom(controllerInfo);
                    this.controller.Logon(UserInfo.DefaultUser);
                    listView1.Items.Clear();
                    listView1.Items.Add(item);
                    EnableControllerFunctionality();
                }

感谢

1 个答案:

答案 0 :(得分:0)

您可以通过设置断点轻松调试此问题,但是,我还假设controllernull。您需要检查controller设置的位置以及controller设置为null的原因。


以下细分似乎是从列表项中获得的controllerInfo中分配一个新控制器。你说它没有。虽然简单的断点和逐步调试过程可以更清楚地了解正在发生的事情,但我可以写下一些猜测:

可能出现的问题:

  1. item == null:代码块根本不执行
  2. controllerInfo.Availability != Availability.Available:代码块未执行
  3. controllerInfo.IsVirtual == false:分配未执行
  4. ControllerFactory.CreateFrom返回null:您应该在第this.controller.Logon(UserInfo.DefaultUser);行中获得例外
  5. 您可能会在代码中的某处将this.controller设置为null
  6. 那是哪一个?