मैं उत्सुक था क्योंकि मैं WPF के साथ बाध्यकारी पर और अधिक सीख रहा था क्या आपको डेटा संदर्भ को केवल एक ही संपत्ति के {बाध्यकारी पथ =} को सेट करने के लिए सेट करना है? मैं सिर्फ उत्सुक था क्योंकि मैं पीछे के कोड के एमवीवीएम उदाहरण से सीख रहा था और ऐसा प्रतीत होता है कि मेरे पास एक ऐसी स्थिति है जिसे मैं व्यूमोडेल के डेटा संदर्भ में कुछ नहीं करना चाहता हूं और मैं संदर्भ में कोड के पीछे एक मध्यस्थ वर्ग पसंद करूंगा बंधन। तो क्या मेरे पास अभी तक एक और कक्षा है जो मैं किसी दूसरे डेटाकॉन्टेक्स्ट या कुछ समान के लिए संदर्भित कर सकता हूं? या क्या मैं संसाधन कुंजी सेट कर सकता हूं और कक्षा को किसी भी तरह संदर्भित कर सकता हूं? यदि संभव हो तो मैं अंततः एक अलग वर्ग में एक संपत्ति का उपयोग करना चाहता हूं।कक्षा से XAML तक किसी संपत्ति को बाध्य करना सीधे
ईजी:
<Window x:Class="WPFTestBinding.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:da="clr-namespace:WPFTestBinding.DataAccess"
xmlns:main="clr-namespace:WPFTestBinding"
Title="MainWindow" Height="350" Width="525">
<Grid>
<StackPanel>
<Label Content="Here we go: "/>
<TextBox x:Name="testtext" />
<Label Height="50" />
<!-- CODE BELOW WILL NOT WORK -->
<TextBox Text="{Binding Path=TestID}" x:Name="testtext2" />
</StackPanel>
</Grid>
</Window>
मैं जानता हूँ कि मैं पीछे कोड में किसी पाठ बॉक्स का मूल्य निर्धारित कर सकते हैं और यह एक संपत्ति के उदाहरण में काम करता है, लेकिन यह बाध्यकारी के लिए नहीं होगा। कक्षाओं से संपत्तियों के लिए फ्लाई पर सरल बाध्यकारी करने का कोई तरीका है? मुझे एक साधारण उदाहरण नहीं मिला है जो यह करता है और मैं ऑनलाइन खोज रहा था और अधिकांश उदाहरण बाध्यकारी सीखने के दौरान सेटिंग डेटा संदर्भों या बहुत ही सरल स्थिर संसाधन उदाहरणों के बहुत गहन सेट हैं। मैं उत्सुक था अगर आप {बाध्यकारी पथ =} का उपयोग कर सकते हैं और बस कक्षा में कोड प्राप्त करने के लिए फ्लाई पर कुछ अन्य संपत्ति का विस्तार कर सकते हैं। कोड की
बाकी बहुत सरल है:
namespace WPFTestBinding.DataAccess
{
class Test
{
public string TestID { get { return "This is my test"; } }
}
}
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
DataAccess.Test t = new Test();
testtext.Text = t.TestID; // code behind works easily
}
}
है कि मैं वास्तव में क्या देख रहा था। मुझे पता था कि एक्सएएमएल में नामस्थान का विस्तार करने के लिए एक आसान तरीका था। – djangojazz
@ kusi581, आप भी मेरी समस्या हल करते हैं। –