0

我在 vs2005 中使用 vb .net

作为一个简化的示例,我将一个对象绑定到这样的文本框

Dim tobject as object
Dim WithEvents obinding As Binding
Private Sub mySub(ByVal sender As System.Object, ByVal e As System.EventArgs)
    tobject = "string"
    obinding = New Binding("text", tobject, "")
    TextBox1.DataBindings.Add(obinding)
End Sub

从这个 msdn 信息看来,这应该可行吗? http://msdn.microsoft.com/en-us/library/system.windows.forms.binding.aspx

“如果将导航路径设置为空字符串,则会在底层数据源对象上调用 ToString 方法”

当我运行 sub 时,文本框确实会更新以反映 tobject 的值,但是对 tobject 的后续更改不会更新文本框

对于某些背景,因为这可能是不寻常的。让我们称之为理解语言能力的练习。我知道我可以创建一个自定义类并绑定到它,但是我必须引用一个属性

tobject.value = some_value

如果 value 是默认属性,则为索引器

tobject(1) = some_value

而我只想引用该对象(并对其进行数据绑定)

tobject = some_value 
4

1 回答 1

0

Object不支持INotifyPropertyChanged所以它不会告诉绑定刷新值。

如果您创建自己的类,正如您所提到的,您可以这样做INotifyPropertyChanged,如果您希望它以这种方式工作,您也需要在其中实现。

于 2013-10-15T14:49:27.080 回答