मुझे एक रास्ता मिला ऐसा करने के लिए, लेकिन यह काफी बदसूरत है और शायद बहुत तेज़ नहीं है ... असल में, विचार दिया गया पथ के साथ बाध्यकारी बनाना और निर्भरता वस्तु की संपत्ति पर लागू करना है। इस तरह से, बंधन मूल्य पुन: प्राप्त करने का सब काम करता:
public static class PropertyPathHelper
{
public static object GetValue(object obj, string propertyPath)
{
Binding binding = new Binding(propertyPath);
binding.Mode = BindingMode.OneTime;
binding.Source = obj;
BindingOperations.SetBinding(_dummy, Dummy.ValueProperty, binding);
return _dummy.GetValue(Dummy.ValueProperty);
}
private static readonly Dummy _dummy = new Dummy();
private class Dummy : DependencyObject
{
public static readonly DependencyProperty ValueProperty =
DependencyProperty.Register("Value", typeof(object), typeof(Dummy), new UIPropertyMetadata(null));
}
}
स्रोत
2010-08-26 20:35:28
आप कैसे आप इस का उपयोग करना चाहते का एक उदाहरण प्रदान कर सकते हैं ? – Rachel