gpt4 book ai didi

c# - 解除绑定(bind)绑定(bind)源

转载 作者:太空狗 更新时间:2023-10-29 21:41:33 26 4
gpt4 key购买 nike

我在我的 Windows 窗体应用程序中使用绑定(bind)源来填充我 View 中的一些文本框等。绑定(bind)工作正常,但如何从我的对象取消订阅我的 bindingSource?

bindingSource.DataSource = new Foo();//OK
bindingSource.DataSource = null;//Not ok

如果我尝试通过设置 data = null 解除绑定(bind),我会得到一个异常:

System.ArgumentException : Cannot bind to the property or column Bar on the DataSource. Parameter name: dataMember

我不想删除对我的控件的所有绑定(bind)(我有很多)但只要 bindingSource 没有数据就想暂停绑定(bind)....

我找到了类似这样的解决方法 bindingSource.DataSource = typeof(Foo); 但这是正确的方法吗?

最佳答案

当您在 PropertyGrid 中设置 BindingSource 的数据源并从“项目数据源”中选择一个类型时,typeof“解决方法”实际上是 Windows 窗体设计器所做的。

查看 *.designer.cs 文件中为您的表单生成的代码。

我们在我们的一款产品中使用了这个“技巧”,并且多年来一直运作良好。

问候

关于c# - 解除绑定(bind)绑定(bind)源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6523218/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com