我有一個類以特定的方式實現屬性,以處理我們的業務邏輯系統的一些自定義需求。通過.NET中的某種接口使屬性可用於數據綁定?
這種「特定方式」使屬性在數據綁定的上下文中不可操作。基本上,如果我將類的對象放到表單上,數據綁定在對象上找不到任何東西,並且該對象的屬性檢查器雖然列出了屬性,但不允許我編輯它們。
我想知道的是,如果有一個接口或類似的東西,我可以在我的類中實現,它將向窗體設計器報告哪些屬性可以綁定到,並實現與數據綁定對話所需的自定義代碼系統代表我的屬性。
請注意,我不需要能夠在屬性檢查器中編輯我的對象的屬性值,這只是屬性的非功能性示例。我只需要數據綁定支持。
有沒有這樣的界面,如果有的話,它是什麼?
舉一個簡單的例子。
假設我有這個類:
public class CustomDataBinding : Component
{
private Dictionary<String, Object> _Properties = new Dictionary<String, Object>();
public CustomDataBinding()
{
_Properties["Property1"] = 10;
_Properties["Property2"] = "Test";
}
}
有什麼我可以做我的對象,短期實際進行性能,這將增加對那兩個「屬性」支持數據綁定?
請注意,我真正的課,我知道每一個屬性的類型,所以如果它可以更容易,改變上面的代碼,只需使用字符串值:
public class CustomDataBinding : Component
{
private Dictionary<String, String> _Properties = new Dictionary<String, String>();
public CustomDataBinding()
{
_Properties["Property1"] = "Property1";
_Properties["Property2"] = "Property2";
}
}
我還需要驗證的支持,因爲我們的類也可以報告每個屬性的驗證狀態,但是我已經實現了IDataErrorInfo和IDataValidationInfo,我認爲這會給我提供。我也實現了INotifyPropertyChanged,所以我得到了我認爲的改變機制,但我需要發現並與屬性進行交談。除了這些接口之外,我應該考慮的任何其他內容都將是受歡迎的信息。
我已經完成了列表,不知道同樣的方法在這裏是有效的,我在等待你們回答這裏時正在試驗ICustomTypeDescriptor,但我還有另外一個問題,我會在這裏接受這個問題的答案並提出另一個問題。 – 2009-09-09 07:03:04
期待它;-p – 2009-09-09 07:04:06
它是:http://stackoverflow.com/questions/1398109/multiple-bindingsource-components-necessary-for-just-one-data-source,基本上它圍繞我的有缺陷/不完整的ICustomTypeDescriptor實現。 – 2009-09-09 07:36:53