अगर मैं आपके सवाल का सही ढंग से समझ आप एक FrameworkElement
है कि एक सादे पुराने आम संपत्ति है जो किसी के रूप में ऊपर का समर्थन नहीं उजागर करता है निर्भरता संपत्ति। हालांकि आप इसे बाध्यकारी के लक्ष्य के रूप में सेट करना चाहते हैं।
काम करने के लिए बाध्यकारी दोवे प्राप्त करने से पहले संभावना नहीं होगी और ज्यादातर मामलों में असंभव होगा। हालांकि अगर आप केवल एक तरह से बाध्यकारी चाहते हैं तो आप वास्तविक संपत्ति के लिए एक सरोगेट के रूप में एक संलग्न संपत्ति बना सकते हैं।
आइए कल्पना करें कि मेरे पास StatusDisplay
फ्रेमवर्क तत्व है जिसमें एक स्ट्रिंग Message
संपत्ति है जो कुछ वास्तव में गूंगा कारण Message
पर निर्भरता संपत्ति के रूप में समर्थन नहीं करता है।
public static StatusDisplaySurrogates
{
public static string GetMessage(StatusDisplay element)
{
if (element == null)
{
throw new ArgumentNullException("element");
}
return element.GetValue(MessageProperty) as string;
}
public static void SetMessage(StatusDisplay element, string value)
{
if (element == null)
{
throw new ArgumentNullException("element");
}
element.SetValue(MessageProperty, value);
}
public static readonly DependencyProperty MessageProperty =
DependencyProperty.RegisterAttached(
"Message",
typeof(string),
typeof(StatusDisplay),
new PropertyMetadata(null, OnMessagePropertyChanged));
private static void OnMessagePropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
StatusDisplay source = d as StatusDisplay;
source.Message = e.NewValue as String;
}
}
बेशक
अगर StatusDisplay
नियंत्रण अपने Message
संपत्ति किसी भी कारण से इस सरोगेट के राज्य अब से मेल खाएगी के लिए सीधे संशोधित है। फिर भी यह आपके उद्देश्यों के लिए कोई फर्क नहीं पड़ता।