如何在WPF中使用作为命令参数接收对象类示例

2w3kk1z5  于 2023-02-05  发布在  其他
关注(0)|答案(2)|浏览(186)

我正在向命令传递命令参数,并像这样接收它

public void SelectTestCase(object Dev)
    {
        try
        {               
            _navigationStore.CurrentViewModel = new TestCaseViewModel(_navigationStore);                
        }
        catch (Exception e)
        {
        }
    }

在这个对象中,开发人员将携带与设备相关的数据。但是如果我使用dev.DeviceName,这将产生错误,因为开发人员对象正在运行时接收数据。我如何使用这个开发人员对象并在运行时获得数据

ffscu2ro

ffscu2ro1#

你有一个特别的参数作为一个通用的“对象”,而不是特定的类类型。你需要对它进行类型转换。例如:

public void SelectTestCase( object Dev )
{
   if( Dev is myDeviceTypeClass )
   {
      var tmp = (myDeviceClass)Dev;
      // Now you can use as needed
      MessageBox.Show( tmp.DeviceName );
   }
   
   // if you have different POSSIBLE device classes passed in,
   // just test for those too.
}
0h4hbjxa

0h4hbjxa2#

假设Dev实际上是一个固定类型,那么您可以尝试定义一个与属性匹配的Device类。

public void SelectTestCase(Device Dev)

还有类似

public class Device
{
    public string DeviceName {get;set;}

    // other properties
}

相关问题