I recently had an issue with databinding to the Visib开发者_开发百科ility property of a DataGridTextColumn. The confusion arose because this property is a dependecy property in WPF but not in Silverlight.
I don't think that the MSDN documentation makes this very clear. The following is the only related text for WPF.
"For information about what can influence the value, see DependencyProperty."
http://msdn.microsoft.com/en-us/library/system.windows.controls.datagridcolumn.visibility(v=VS.100).aspx
Dependency properties have a corresponding static field on the class they are defined in. Have a look at the fields section of the DataGridTextColumn class.
In most cases you can detect whether a property Foo is a DP by checking if there is a static field named FooProperty of type DependencyProperty. However, this is only a convention. There is no guarantee that all dependency properties will follow this pattern.
Already answered, I know. IE. The "Text" property in a "TextBlock" is a dependency property you can tell because Intellisense shows the static filed like this:
TextBlock.TextProperty
Here's an extension method that evaluates a property's value and also returns the corresponding DependencyProperty:
    public static bool TryEvaluateProperty(this FrameworkElement fe, string property, out object value, out DependencyProperty dp)
    {
        value = default;
        dp = default;
        var feType = fe.GetType();
        var propertyInfo = feType.GetProperty(property, BindingFlags.Public | BindingFlags.Instance | BindingFlags.GetProperty);
        if (propertyInfo == null) return false;
        value = propertyInfo.GetValue(fe);
        var dpName = property + "Property"; //ASSUMPTION: Definition uses DependencyProperty naming convention
        while (feType != null)
        {
            var dpField = feType.GetField(dpName, BindingFlags.Static | BindingFlags.Public);
            if (dpField != null)
            {
                dp = dpField.GetValue(null) as DependencyProperty; //use obj==null for static field
                break;
            }
            feType = feType.BaseType;
        }
        return true;
    }
 
         
                                         
                                         
                                         
                                        ![Interactive visualization of a graph in python [closed]](https://www.devze.com/res/2023/04-10/09/92d32fe8c0d22fb96bd6f6e8b7d1f457.gif) 
                                         
                                         
                                         
                                         加载中,请稍侯......
 加载中,请稍侯......
      
精彩评论