【问题标题】:Bind button enabled property to combobox selected item将按钮启用属性绑定到组合框选定项
【发布时间】:2015-05-15 00:45:01
【问题描述】:
不久前,我阅读了有关 Windows 窗体中的数据绑定(可能是 MVVM?)的教程。我感觉什么都忘了,也忘了教程的名字。
我想做的是将按钮的启用属性绑定到组合框的选定项。
逻辑:如果组合框选择了项目启用按钮。
否则禁用按钮。
我知道 combobox_textchanged 和 combobox_selecteditemchanged 事件,如果可能,我想避免使用它。
【问题讨论】:
标签:
c#
winforms
data-binding
【解决方案1】:
在 WPF / MVVM 中,这是一个可以在 ViewModel 类中处理的 UI 问题。在 Windows 窗体中,您可能还希望创建一个与模型类分开的 ViewModel 类,以使 UI 问题远离模型类。无论哪种方式,您都可以在您绑定到的对象类中创建一个像“IsActiveCustomer”这样的布尔属性,或者在您的情况下是什么。您的属性可能有一个 getter,它根据绑定到组合框的 property 返回一个值 - 或者您可以使用组合框选择索引更改或选择值更改事件并设置布尔值相应的财产。然后,当然,将按钮的 Enabled 属性绑定到 Boolean 属性。可能需要知道您将数据绑定到什么以便提供细节(绑定到对象与 BindingSource/表适配器等)