मैं एक (बहुत) सरल डेटा बाइंडिंग परीक्षण बनाने के लिए कोशिश कर रहा हूँ, लेकिन यह के रूप में मैं उम्मीद काम नहीं करता है ... कहते हैं कि मैं निम्नलिखित श्रेणियां होती हैं:सरल DataBinding
// this class represents some kind of data producer
public class DataSourceClass
{
public string Data { get; set; }
public DataSourceClass()
{ }
}
//this form holds the TextBox control as the Data consumer
public partial class DatabindingTestForm : Form
{
public DataSourceClass ds { get; set; }
public DatabindingTestForm()
{
InitializeComponent();
ds = new DataSourceClass();
textBox.DataBindings.Add("Text", ds, "Data");
}
private void checkBox_CheckedChanged(object sender, EventArgs e)
{
if (checkBox.Checked)
ds.Data = "CHECKED";
else
ds.Data = "NOT CHECKED";
}
}
मैं नहीं जोड़ा था, डिजाइनर कोड, लेकिन वहां, और फॉर्म में टेक्स्टबॉक्स ऑब्जेक्ट और चेकबॉक्स ऑब्जेक्ट है। जैसा कि आप समझ सकते हैं, मैं टेक्स्टबॉक्स टेक्स्ट प्रॉपर्टी चेंज करने की कोशिश कर रहा हूं क्योंकि उपयोगकर्ता चेकबॉक्स को अनचेक करता है। लेकिन यह कोड टेक्स्टबॉक्स टेक्स्ट प्रॉपर्टी को अपडेट नहीं करता है। क्या कोई मुझे बता सकता है कि मुझे क्या याद आ रहा है?
मुझे यह भरने में मिला कि मुझे मुख्य विचार याद आ रहा है ... अगर मुझे किसी ईवेंट को जोड़ने की ज़रूरत है तो मुझे डेटा बाइंडिंग का उपयोग करने की आवश्यकता क्यों है? मैं सिर्फ घटना का उपयोग कर सकता था (कोई नियंत्रण बाइंडिंग चयन आवश्यक ...) –
उदाहरण के लिए यह सरल है, आप केवल एक ऐसा ईवेंट प्राप्त कर सकते हैं जो टेक्स्ट बॉक्स को सीधे अपडेट करता हो। हालांकि, वास्तविक एप्लिकेशन में, आप डेटा इंटरफ़ेस (टेक्स्ट बॉक्स) से अलग डेटा मॉडल (आपका 'डेटासोर्स क्लास') रखना चाहते हैं। डेटा बाइंडिंग का उद्देश्य मॉडल और यूआई के बीच बैठना है, बिना किसी दूसरे के बारे में जागरूक होने की आवश्यकता के उनके बीच डेटा पास करना। –