我正在为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对象。
帮助,有人吗?谢谢!
答案 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)