VB.Net类属性指定一个对象?

时间:2012-03-09 21:01:11

标签: vb.net object properties

我正在为VB.Net 2010中的自动化机器编写HMI。我有一个自定义类,根据远程I / O模块上的输入值将边框变为绿色或红色。

与远程I / O模块的连接是通过制造商提供的COM对象实现的。我有三个远程连接,让我们称它们为g1,g2和g3。它们的类型为Manufacturer.ConnectionObject

我想使用我可以在XAML中设置的属性来指定MyCustomBorder的实例使用g1,g2或g3。不幸的是,设置一个名为g的属性并在属性字段中键入'g1'会导致消息“属性值无效。详细信息:属性'g'不支持字符串到值转换。”

所以,相反,我只能手动设置(在程序启动期间)每个MyCustomBorder实例:

CustomBorder1.g = g1
CustomBorder2.g = g3
CustomBorder73.g = g1

......等等。

我被告知我需要在String和自定义类Manufacturer.ConnectionObject之间实现转换器,但我不知道如何实现这一点,特别是因为Manufacturer.ConnectionObject是关闭的一部分 - 我的COM对象。

帮助,有人吗?谢谢!

2 个答案:

答案 0 :(得分:1)

尝试直接将COM对象绑定到WPF可能会让您感到很头疼。作为第一步,我将定义一个WPF友好类,它包装Manufacturer.ConnectionObject的实例并将其绑定到WPF

Class MyConnectionObject 
  Public Manufacturer.ConnectionObject _connection

  Public Property Value As String 
    Get
      ' Return _connection as a String
    End Get
  End Property
End Class

答案 1 :(得分:0)