【问题标题】:Binding class with empty string as navigation path doesn't update使用空字符串作为导航路径的绑定类不会更新
【发布时间】:2013-10-15 01:41:34
【问题描述】:

我在 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 

【问题讨论】:

    标签: vb.net binding


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-25
      • 2019-12-29
      • 2019-11-16
      • 2011-11-12
      • 1970-01-01
      • 2018-06-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多