<?xml version="1.0"?>
<doc>
    <assembly>
        <name>CPF</name>
    </assembly>
    <members>
        <member name="T:CPF.Animation.AnimateMode">
            <summary>
            动画模式
            </summary>
        </member>
        <member name="T:CPF.Animation.BackEase">
            <summary>
            表示指定的路径中进行动画处理在开始之前将略有收回动画的运动的缓动函数。
            </summary>
        </member>
        <member name="M:CPF.Animation.BackEase.#ctor">
            <summary>
            表示指定的路径中进行动画处理在开始之前将略有收回动画的运动的缓动函数。
            </summary>
        </member>
        <member name="P:CPF.Animation.BackEase.Amplitude">
            <summary>
            Specifies how much the function will pull back
            </summary>
        </member>
        <member name="T:CPF.Animation.BounceEase">
            <summary>
            表示创建动画反弹效果的缓动函数。
            </summary>
        </member>
        <member name="M:CPF.Animation.BounceEase.#ctor">
            <summary>
            表示创建动画反弹效果的缓动函数。
            </summary>
        </member>
        <member name="P:CPF.Animation.BounceEase.Bounces">
            <summary>
            Specifies the number of bounces.  This does not include the final half bounce.
            </summary>
        </member>
        <member name="P:CPF.Animation.BounceEase.Bounciness">
            <summary>
                Specifies the amount of bounciness.  This corresponds to the scale difference between a bounce and the next bounce.  
                For example, Bounciness = 2.0 correspondes to the next bounce being twices as high and taking twice as long.
            </summary>
        </member>
        <member name="T:CPF.Animation.CircleEase">
            <summary>
            表示创建的动画加速和/或使用循环函数减速的缓动函数。
            </summary>
        </member>
        <member name="M:CPF.Animation.CircleEase.#ctor">
            <summary>
            表示创建的动画加速和/或使用循环函数减速的缓动函数。
            </summary>
        </member>
        <member name="T:CPF.Animation.CubicEase">
            <summary>
            表示一个缓动函数，该函数创建一个使用公式 f(t) = t3 进行加速和/或减速的动画。
            </summary>
        </member>
        <member name="M:CPF.Animation.CubicEase.#ctor">
            <summary>
            表示一个缓动函数，该函数创建一个使用公式 f(t) = t3 进行加速和/或减速的动画。
            </summary>
        </member>
        <member name="T:CPF.Animation.ElasticEase">
            <summary>
            表示创建类似于弹簧 rest 直到显示来回振荡的动画的缓动函数。
            </summary>
        </member>
        <member name="M:CPF.Animation.ElasticEase.#ctor">
            <summary>
            表示创建类似于弹簧 rest 直到显示来回振荡的动画的缓动函数。
            </summary>
        </member>
        <member name="P:CPF.Animation.ElasticEase.Oscillations">
            <summary>
            Specifies the number of oscillations
            </summary>
        </member>
        <member name="P:CPF.Animation.ElasticEase.Springiness">
            <summary>
            Specifies the amount of springiness
            </summary>
        </member>
        <member name="T:CPF.Animation.ExponentialEase">
            <summary>
            表示创建的动画加速和/或使用指数公式减速的缓动函数。
            </summary>
        </member>
        <member name="M:CPF.Animation.ExponentialEase.#ctor">
            <summary>
            表示创建的动画加速和/或使用指数公式减速的缓动函数。
            </summary>
        </member>
        <member name="P:CPF.Animation.ExponentialEase.Exponent">
            <summary>
            Specifies the factor which controls the shape of easing.默认值2
            </summary>
        </member>
        <member name="T:CPF.Animation.IEase">
            <summary>
            定义一个缓动动画时间变换接口
            </summary>
        </member>
        <member name="T:CPF.Animation.IKeyFrame`1">
            <summary>
            定义一个关键帧接口
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="P:CPF.Animation.IKeyFrame`1.KeyTime">
            <summary>
            获取或设置应到达关键帧的目标 Value 的时间。
            </summary>
        </member>
        <member name="P:CPF.Animation.IKeyFrame`1.Value">
            <summary>
            获取或设置关键帧的目标值。
            </summary>
        </member>
        <member name="M:CPF.Animation.IKeyFrame`1.InterpolateValue(`0,System.Single)">
            <summary>
            获取插值
            </summary>
            <param name="keyFrameProgress">0-1</param>
            <returns></returns>
        </member>
        <member name="T:CPF.Animation.KeyFrame">
            <summary>
            关键帧
            </summary>
        </member>
        <member name="P:CPF.Animation.KeyFrame.AnimateMode">
            <summary>
            动画模式
            </summary>
        </member>
        <member name="P:CPF.Animation.KeyFrame.Property">
            <summary>
            需要变化的属性
            </summary>
        </member>
        <member name="M:CPF.Animation.KeyFrame.GetValue">
            <summary>
            获取设置的目标值
            </summary>
            <returns></returns>
        </member>
        <member name="M:CPF.Animation.KeyFrame.EaseInCore(System.Single)">
            <summary>
            缓动动画动画进度变化
            </summary>
            <param name="normalizedTime"></param>
            <returns></returns>
        </member>
        <member name="P:CPF.Animation.KeyFrame.Ease">
            <summary>
            缓动动画效果
            </summary>
        </member>
        <member name="T:CPF.Animation.KeyFrame`1">
            <summary>
            定义一个类型数据的关键帧，默认支持byte,Color,double,float,int,short,long,Point,Rect,Size,Thickness,Vector,GeneralTransform,Matrix,Transform,SolidColorFill
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="M:CPF.Animation.KeyFrame`1.#ctor">
            <summary>
            定义一个类型数据的关键帧，默认支持byte,Color,double,float,int,short,long,Point,Rect,Size,Thickness,Vector,GeneralTransform,Matrix,Transform,SolidColorFill
            </summary>
        </member>
        <member name="P:CPF.Animation.KeyFrame`1.Value">
            <summary>
            目标值
            </summary>
        </member>
        <member name="T:CPF.Animation.PowerEase">
            <summary>
            表示一个缓动函数，创建一个动画加速和/或减速使用下面的公式 f(t) = tp p 是等于 Power 属性。
            </summary>
        </member>
        <member name="M:CPF.Animation.PowerEase.#ctor">
            <summary>
            表示一个缓动函数，创建一个动画加速和/或减速使用下面的公式 f(t) = tp p 是等于 Power 属性。
            </summary>
        </member>
        <member name="P:CPF.Animation.PowerEase.Power">
            <summary>
            Specifies the power for the polynomial equation.默认值2
            </summary>
        </member>
        <member name="T:CPF.Animation.QuadraticEase">
            <summary>
            表示一个缓动函数，创建一个动画加速和/或减速使用下面的公式 f(t) = t2
            </summary>
        </member>
        <member name="M:CPF.Animation.QuadraticEase.#ctor">
            <summary>
            表示一个缓动函数，创建一个动画加速和/或减速使用下面的公式 f(t) = t2
            </summary>
        </member>
        <member name="T:CPF.Animation.QuinticEase">
            <summary>
            表示一个缓动函数，创建一个动画加速和/或减速使用下面的公式 f(t) = t4。
            </summary>
        </member>
        <member name="M:CPF.Animation.QuinticEase.#ctor">
            <summary>
            表示一个缓动函数，创建一个动画加速和/或减速使用下面的公式 f(t) = t4。
            </summary>
        </member>
        <member name="T:CPF.Animation.SineEase">
            <summary>
            表示一个缓动函数，创建一个动画加速和/或减速使用正弦值的公式
            </summary>
        </member>
        <member name="M:CPF.Animation.SineEase.#ctor">
            <summary>
            表示一个缓动函数，创建一个动画加速和/或减速使用正弦值的公式
            </summary>
        </member>
        <member name="T:CPF.Animation.Storyboard">
            <summary>
            一个容器时间线，该时间线为子动画提供对象和属性确定信息。
            </summary>
        </member>
        <member name="P:CPF.Animation.Storyboard.Timelines">
            <summary>
            需要按时间的从小到大顺序添加
            </summary>
        </member>
        <member name="M:CPF.Animation.Storyboard.Start(CPF.CpfObject,System.TimeSpan,System.UInt32,CPF.Animation.EndBehavior)">
            <summary>
            播放动画
            </summary>
            <param name="obj"></param>
            <param name="duration">持续时间</param>
            <param name="iterationCount">动画播放次数，0为无限循环</param>
            <param name="endBehavior">动画结束之后的行为</param>
        </member>
        <member name="M:CPF.Animation.Storyboard.Reset(CPF.CpfObject)">
            <summary>
            重置播放状态
            </summary>
        </member>
        <member name="M:CPF.Animation.Storyboard.Remove(CPF.CpfObject)">
            <summary>
            移除动画关联的对象
            </summary>
            <param name="obj"></param>
        </member>
        <member name="M:CPF.Animation.Storyboard.GetCurrentTime(CPF.CpfObject)">
            <summary>
            获取当前动画时间
            </summary>
            <param name="obj"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.Animation.Storyboard.GetIsPaused(CPF.CpfObject)">
            <summary>
            获取关联的对象动画是否暂停
            </summary>
            <returns></returns>
        </member>
        <member name="P:CPF.Animation.Storyboard.PlayStates.Duration">
            <summary>
            动画持续时间
            </summary>
        </member>
        <member name="P:CPF.Animation.Storyboard.PlayStates.IterationCount">
            <summary>
            动画播放次数，0为无限循环
            </summary>
        </member>
        <member name="P:CPF.Animation.Storyboard.PlayStates.EndBehavior">
            <summary>
            动画结束之后的行为
            </summary>
        </member>
        <member name="P:CPF.Animation.Storyboard.PlayStates.Target">
            <summary>
            需要应用动画的目标对象
            </summary>
        </member>
        <member name="M:CPF.Animation.Storyboard.PlayStates.Reset">
            <summary>
            重置播放状态
            </summary>
        </member>
        <member name="P:CPF.Animation.Storyboard.PlayStates.CurrentTime">
            <summary>
            当前动画所在的时间
            </summary>
        </member>
        <member name="T:CPF.Animation.EndBehavior">
            <summary>
            动画播放结束之后的行为
            </summary>
        </member>
        <member name="F:CPF.Animation.EndBehavior.Recovery">
            <summary>
            恢复为开始动画之前的状态
            </summary>
        </member>
        <member name="F:CPF.Animation.EndBehavior.Reservations">
            <summary>
            保留动画的属性变化
            </summary>
        </member>
        <member name="M:CPF.Animation.ObjEx.TransitionValue``2(``1,System.String,``0,System.TimeSpan,CPF.Animation.IEase,CPF.Animation.AnimateMode,System.Action,System.UInt32)">
            <summary>
            对属性值动画过渡到目标值，目标值必须显式转换，比如FloatField的"100%"，必须写成(FloatField)"100%",不能直接用"100%"
            </summary>
            <typeparam name="T">属性值类型</typeparam>
            <typeparam name="S">执行动画的对象类型</typeparam>
            <param name="obj"></param>
            <param name="propertyName"></param>
            <param name="targetValue"></param>
            <param name="duration"></param>
            <param name="ease"></param>
            <param name="animateMode"></param>
            <param name="completed">如果循环次数是多次的话，那就会触发多次</param>
            <param name="iterationCount">为0的话是一直播放，不断循环</param>
        </member>
        <member name="M:CPF.Animation.ObjEx.TransitionValue``2(``1,System.Linq.Expressions.Expression{System.Func{``1,``0}},``0,System.TimeSpan,CPF.Animation.IEase,CPF.Animation.AnimateMode,System.Action,System.UInt32)">
            <summary>
            对属性值动画过渡到目标值
            </summary>
            <typeparam name="T"></typeparam>
            <typeparam name="S"></typeparam>
            <param name="obj"></param>
            <param name="expression">a=>a.Property</param>
            <param name="targetValue"></param>
            <param name="duration"></param>
            <param name="ease"></param>
            <param name="animateMode"></param>
            <param name="completed">如果循环次数是多次的话，那就会触发多次</param>
            <param name="iterationCount">为0的话是一直播放，不断循环</param>
            <returns></returns>
        </member>
        <member name="T:CPF.Animation.Timeline">
            <summary>
            时间轴
            </summary>
        </member>
        <member name="M:CPF.Animation.Timeline.#ctor(System.Single)">
            <summary>
            初始化时间轴，设置到达关键帧的目标 Value 的百分比时间0-1
            </summary>
            <param name="keyTime"></param>
        </member>
        <member name="P:CPF.Animation.Timeline.KeyTime">
            <summary>
             获取或设置应到达关键帧的目标 Value 的百分比时间。 0-1
            </summary>
        </member>
        <member name="P:CPF.Animation.Timeline.KeyFrames">
            <summary>
            关键帧
            </summary>
        </member>
        <member name="T:CPF.AttachedExtenstions">
            <summary>
            定义一些常用附加属性
            </summary>
        </member>
        <member name="P:CPF.AttachedExtenstions.IsError">
            <summary>
            是否错误
            </summary>
        </member>
        <member name="P:CPF.AttachedExtenstions.IsValid">
            <summary>
            是否有效
            </summary>
        </member>
        <member name="P:CPF.AttachedExtenstions.IsEmpty">
            <summary>
            是否为空
            </summary>
        </member>
        <member name="M:CPF.AttachedProperties.Add``1(CPF.Attached{``0},``0)">
            <summary>
            设置附加属性值
            </summary>
            <typeparam name="Value"></typeparam>
            <param name="attached"></param>
            <param name="value"></param>
        </member>
        <member name="M:CPF.AttachedProperties.Add``3(CPF.Attached{``0},``0,System.String,CPF.CpfObject,CPF.BindingMode,System.Func{``1,``2},System.Func{``2,``1},System.Action{CPF.Binding,System.Object,System.Exception},System.Action{CPF.Binding,System.Object,System.Exception})">
            <summary>
            设置附加属性值和绑定
            </summary>
            <typeparam name="Value"></typeparam>
            <typeparam name="S"></typeparam>
            <typeparam name="T"></typeparam>
            <param name="attached"></param>
            <param name="value"></param>
            <param name="sourcePropertyName"></param>
            <param name="source"></param>
            <param name="bindingMode"></param>
            <param name="convert"></param>
            <param name="convertBack"></param>
            <param name="SourceToTargetError"></param>
            <param name="TargetToSourceError"></param>
        </member>
        <member name="M:CPF.AttachedProperties.Add``1(CPF.Attached{``0},``0,System.String,CPF.CpfObject,CPF.BindingMode,System.Func{System.Object,System.Object},System.Func{System.Object,System.Object},System.Action{CPF.Binding,System.Object,System.Exception},System.Action{CPF.Binding,System.Object,System.Exception})">
            <summary>
            设置附加属性值和绑定
            </summary>
            <typeparam name="Value"></typeparam>
            <param name="attached"></param>
            <param name="value"></param>
            <param name="sourcePropertyName"></param>
            <param name="source"></param>
            <param name="bindingMode"></param>
            <param name="convert"></param>
            <param name="convertBack"></param>
            <param name="SourceToTargetError"></param>
            <param name="TargetToSourceError"></param>
        </member>
        <member name="M:CPF.AttachedProperties.Add``3(CPF.Attached{``0},``0,System.String,System.Func{CPF.UIElement,CPF.UIElement},CPF.BindingMode,System.Func{``1,``2},System.Func{``2,``1},System.Action{CPF.Binding,System.Object,System.Exception},System.Action{CPF.Binding,System.Object,System.Exception})">
            <summary>
            设置附加属性值和绑定
            </summary>
            <typeparam name="Value"></typeparam>
            <typeparam name="S"></typeparam>
            <typeparam name="T"></typeparam>
            <param name="attached"></param>
            <param name="value"></param>
            <param name="sourcePropertyName"></param>
            <param name="func">初始化的时候查找相对元素</param>
            <param name="bindingMode"></param>
            <param name="convert"></param>
            <param name="convertBack"></param>
            <param name="SourceToTargetError"></param>
            <param name="TargetToSourceError"></param>
        </member>
        <member name="M:CPF.AttachedProperties.Add``1(CPF.Attached{``0},``0,System.String,System.Func{CPF.UIElement,CPF.UIElement},CPF.BindingMode,System.Func{System.Object,System.Object},System.Func{System.Object,System.Object},System.Action{CPF.Binding,System.Object,System.Exception},System.Action{CPF.Binding,System.Object,System.Exception})">
            <summary>
            设置附加属性值和绑定
            </summary>
            <typeparam name="Value"></typeparam>
            <param name="attached"></param>
            <param name="value"></param>
            <param name="sourcePropertyName"></param>
            <param name="func">初始化的时候查找相对元素</param>
            <param name="bindingMode"></param>
            <param name="convert"></param>
            <param name="convertBack"></param>
            <param name="SourceToTargetError"></param>
            <param name="TargetToSourceError"></param>
        </member>
        <member name="T:CPF.Binding">
            <summary>
            绑定
            </summary>
        </member>
        <member name="M:CPF.Binding.RegisterPropertyChanged(System.ComponentModel.INotifyPropertyChanged,System.ComponentModel.PropertyChangedEventHandler)">
            <summary>
            事件弱绑定
            </summary>
            <param name="notify"></param>
            <param name="propertyChanged">不能是静态方法</param>
        </member>
        <member name="M:CPF.Binding.CancellationPropertyChanged(System.ComponentModel.INotifyPropertyChanged,System.ComponentModel.PropertyChangedEventHandler)">
            <summary>
            移除弱事件绑定
            </summary>
            <param name="notify"></param>
            <param name="propertyChanged"></param>
        </member>
        <member name="P:CPF.Binding.Owner">
            <summary>
            Target对象
            </summary>
        </member>
        <member name="P:CPF.Binding.Source">
            <summary>
            数据源对象
            </summary>
        </member>
        <member name="P:CPF.Binding.SourcePropertyName">
            <summary>
            数据源字段名
            </summary>
        </member>
        <member name="P:CPF.Binding.TargetPropertyName">
            <summary>
            Owner被绑定的属性名
            </summary>
        </member>
        <member name="P:CPF.Binding.SourceToTargetError">
            <summary>
            SourceToTarget异常回调
            </summary>
        </member>
        <member name="P:CPF.Binding.TargetToSourceError">
            <summary>
            TargetToSource异常回调
            </summary>
        </member>
        <member name="P:CPF.Binding.Convert">
            <summary>
            数据绑定的转换
            </summary>
        </member>
        <member name="P:CPF.Binding.ConvertBack">
            <summary>
            数据绑定的转换
            </summary>
        </member>
        <member name="P:CPF.Binding.BindingMode">
            <summary>
            绑定模式
            </summary>
        </member>
        <member name="M:CPF.Binding.UnBind">
            <summary>
            取消数据绑定
            </summary>
        </member>
        <member name="P:CPF.Binding.Current">
            <summary>
            当前执行的绑定对象
            </summary>
        </member>
        <member name="M:CPF.Binding.Cancel">
            <summary>
            取消这次的数据传递
            </summary>
        </member>
        <member name="P:CPF.Binding.IsPostBack">
            <summary>
            是否是双向绑定的时候回传状态，一般在转换器里使用，在双向绑定的时候，假如label1和label2的text双向绑定了 label1.Text="1";那label1的Text会传给label2的Text，但是这个同时label2的Text也会因为绑定的缘故往label1传Text值，这个时候IsPostBack为true，你可以判断是否要Cancel。假如回传的label2的Text和label1的Text值不同或者转换器转换到的结果不匹配那可能会出现死循环或者其他错误
            </summary>
        </member>
        <member name="M:CPF.Binding.SourceToTarget">
            <summary>
            执行数据传递
            </summary>
        </member>
        <member name="M:CPF.Binding.TargetToSource">
            <summary>
            执行数据传递
            </summary>
        </member>
        <member name="P:CPF.Binding.SourceElementLayer">
            <summary>
            绑定的UIElement层次，0是自己，1是Parent，2是Parent.Parent....
            </summary>
        </member>
        <member name="T:CPF.BindingMode">
            <summary>
            This enum describes how the data flows through a given Binding
            </summary>
        </member>
        <member name="F:CPF.BindingMode.TwoWay">
            <summary> Data flows from source to target and vice-versa </summary>
        </member>
        <member name="F:CPF.BindingMode.OneWay">
            <summary> Data flows from source to target, source changes cause data flow </summary>
        </member>
        <member name="F:CPF.BindingMode.OneTime">
            <summary> Data flows from source to target once, source changes are ignored 数据从源流到目标一次, 源更改将被忽略</summary>
        </member>
        <member name="F:CPF.BindingMode.OneWayToSource">
            <summary> Data flows from target to source, target changes cause data flow </summary>
        </member>
        <member name="M:CPF.BindHelper.Attached``2(``0,CPF.Attached{``1},``1)">
            <summary>
            设置附加属性
            </summary>
            <typeparam name="T"></typeparam>
            <typeparam name="V"></typeparam>
            <param name="obj"></param>
            <param name="attached"></param>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="T:CPF.BindingDescribe">
            <summary>
            简化绑定操作
            </summary>
        </member>
        <member name="P:CPF.BindingDescribe.Convert">
            <summary>
            数据绑定的转换
            </summary>
        </member>
        <member name="M:CPF.BindingDescribe.op_Equality(CPF.BindingDescribe,CPF.BindingDescribe)">
            <summary>
            双向绑定，如果加数据转换器，两个转换器要对称，否则可能出现死循环或者其他错误
            </summary>
            <param name="property1"></param>
            <param name="property2"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.BindingDescribe.op_Inequality(CPF.BindingDescribe,CPF.BindingDescribe)">
            <summary>
            右边数据绑定到左边，只传递一次数据
            </summary>
            <param name="property1"></param>
            <param name="property2"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.BindingDescribe.op_LessThanOrEqual(CPF.BindingDescribe,CPF.BindingDescribe)">
            <summary>
            右边数据绑定到左边
            </summary>
            <param name="property1"></param>
            <param name="property2"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.BindingDescribe.op_GreaterThanOrEqual(CPF.BindingDescribe,CPF.BindingDescribe)">
            <summary>
            左边数据绑定到右边
            </summary>
            <param name="property1"></param>
            <param name="property2"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.BindingDescribe.op_Equality(CPF.BindingDescribe,System.String)">
            <summary>
            和DataContext的对象的属性双向绑定
            </summary>
            <param name="property1"></param>
            <param name="property2">DataContext的对象的属性名</param>
            <returns></returns>
        </member>
        <member name="M:CPF.BindingDescribe.op_Inequality(CPF.BindingDescribe,System.String)">
            <summary>
            DataContext的对象的属性数据绑定到左边，只传递一次数据
            </summary>
            <param name="property1"></param>
            <param name="property2">DataContext的对象的属性名</param>
            <returns></returns>
        </member>
        <member name="M:CPF.BindingDescribe.op_LessThanOrEqual(CPF.BindingDescribe,System.String)">
            <summary>
            DataContext的对象的属性数据绑定到左边
            </summary>
            <param name="property1"></param>
            <param name="property2">DataContext的对象的属性名</param>
            <returns></returns>
        </member>
        <member name="M:CPF.BindingDescribe.op_GreaterThanOrEqual(CPF.BindingDescribe,System.String)">
            <summary>
            左边数据绑定到DataContext的对象的属性
            </summary>
            <param name="property1"></param>
            <param name="property2">DataContext的对象的属性名</param>
            <returns></returns>
        </member>
        <member name="T:CPF.Bindings">
            <summary>
            设置绑定
            </summary>
        </member>
        <member name="M:CPF.Bindings.Add(System.String,System.String,System.Object,CPF.BindingMode,System.Func{System.Object,System.Object},System.Func{System.Object,System.Object},System.Action{CPF.Binding,System.Object,System.Exception},System.Action{CPF.Binding,System.Object,System.Exception})">
            <summary>
            添加绑定
            </summary>
            <param name="propertyName">绑定的目标属性名</param>
            <param name="sourcePropertyName">绑定的数据源对象的属性名</param>
            <param name="source">数据源对象，如果为空则绑定到DataContext对象上</param>
            <param name="bindingMode">绑定模式</param>
            <param name="convert">源到目标数据转换</param>
            <param name="convertBack">目标到源数据转换</param>
            <param name="SourceToTargetError ">源到目标数据转换出现异常时</param>
            <param name="TargetToSourceError ">目标到源数据转换出现异常时</param>
        </member>
        <member name="M:CPF.Bindings.Add(System.String,CPF.Controls.DataGridCellTemplate)">
            <summary>
            简化 DataGridCellTemplate 绑定
            </summary>
            <param name="propertyName"></param>
            <param name="cellTemplate"></param>
        </member>
        <member name="M:CPF.Bindings.Add(System.String,System.String,System.Byte,CPF.BindingMode,System.Func{System.Object,System.Object},System.Func{System.Object,System.Object},System.Action{CPF.Binding,System.Object,System.Exception},System.Action{CPF.Binding,System.Object,System.Exception})">
            <summary>
            添加绑定到UIElement对象上，定义绑定在对应的Element层次上
            </summary>
            <param name="propertyName"></param>
            <param name="sourcePropertyName"></param>
            <param name="sourceElementLayer">UI元素层，0是自己，1是Parent，2是Parent.Parent....</param>
            <param name="bindingMode"></param>
            <param name="convert"></param>
            <param name="convertBack"></param>
            <param name="SourceToTargetError"></param>
            <param name="TargetToSourceError"></param>
        </member>
        <member name="M:CPF.Bindings.Add(System.String,System.String,System.Func{CPF.UIElement,CPF.UIElement},CPF.BindingMode,System.Func{System.Object,System.Object},System.Func{System.Object,System.Object},System.Action{CPF.Binding,System.Object,System.Exception},System.Action{CPF.Binding,System.Object,System.Exception})">
            <summary>
            一般用于在设计模板的时候绑定当前页面里的元素，初始化的时候查找相对元素并绑定
            </summary>
            <param name="propertyName"></param>
            <param name="sourcePropertyName"></param>
            <param name="find">初始化的时候查找相对元素并绑定</param>
            <param name="bindingMode"></param>
            <param name="convert"></param>
            <param name="convertBack"></param>
            <param name="SourceToTargetError"></param>
            <param name="TargetToSourceError"></param>
        </member>
        <member name="M:CPF.Bindings.Add``2(System.String,System.String,System.Func{CPF.UIElement,CPF.UIElement},CPF.BindingMode,System.Func{``0,``1},System.Func{``1,``0},System.Action{CPF.Binding,System.Object,System.Exception},System.Action{CPF.Binding,System.Object,System.Exception})">
            <summary>
            初始化的时候查找相对元素并绑定
            </summary>
            <typeparam name="S"></typeparam>
            <typeparam name="T"></typeparam>
            <param name="propertyName"></param>
            <param name="sourcePropertyName"></param>
            <param name="find"></param>
            <param name="bindingMode"></param>
            <param name="convert"></param>
            <param name="convertBack"></param>
            <param name="SourceToTargetError"></param>
            <param name="TargetToSourceError"></param>
        </member>
        <member name="M:CPF.Bindings.GetEnumerator">
            <summary>
            KeyValuePair&lt;string, List&lt;Binding&gt;&gt;
            </summary>
            <returns></returns>
        </member>
        <member name="T:CPF.CacheMode">
            <summary>
            图像缓存模式
            </summary>
        </member>
        <member name="T:CPF.Collection`1">
            <summary>
            包含项目添加移出事件的泛型集合，由于System.Collections.ObjectModel.ObservableCollection的Clear操作事件里没有OldItems值，所以重新定义个
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="M:CPF.Collection`1.Sort(System.Collections.Generic.IComparer{`0})">
            <summary>
            使用指定的比较器对所有元素进行排序。
            </summary>
            <param name="comparer">比较元素时要使用的比较器</param>
        </member>
        <member name="M:CPF.Collection`1.Sort(System.Comparison{`0})">
            <summary>
            排序
            </summary>
            <param name="comparison"></param>
        </member>
        <member name="M:CPF.Collection`1.Find(System.Predicate{`0})">
            <summary>
            搜索与指定谓词所定义的条件相匹配的元素，并返回整个集合中的第一个匹配元素
            </summary>
            <param name="match"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.Collection`1.Exists(System.Predicate{`0})">
            <summary>
            确定 集合 是否包含与指定谓词所定义的条件相匹配的元素
            </summary>
            <param name="match"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.Collection`1.FindAll(System.Predicate{`0})">
            <summary>
            检索与指定谓词定义的条件匹配的所有元素
            </summary>
            <param name="match"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.Collection`1.FindIndex(System.Predicate{`0})">
            <summary>
            搜索与指定谓词所定义的条件相匹配的元素，并返回整个集合 中第一个匹配元素的从零开始的索引。
            </summary>
            <param name="match"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.Collection`1.FindLast(System.Predicate{`0})">
            <summary>
            搜索与指定谓词所定义的条件相匹配的元素，并返回整个 集合 中的最后一个匹配元素。
            </summary>
            <param name="match"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.Collection`1.FindLastIndex(System.Predicate{`0})">
            <summary>
            搜索与指定谓词所定义的条件相匹配的元素，并返回整个 集合 中最后一个匹配元素的从零开始的索引。
            </summary>
            <param name="match"></param>
            <returns></returns>
        </member>
        <member name="P:CPF.Collection`1.Events">
            <summary>
            事件列表，用于优化事件订阅内存
            </summary>
        </member>
        <member name="E:CPF.Collection`1.CollectionChanged">
            <summary>
            项目添加之后
            </summary>
        </member>
        <member name="E:CPF.Collection`1.Sorted">
            <summary>
            调用Sort排序之后
            </summary>
        </member>
        <member name="T:CPF.ISortNotify">
            <summary>
            提供排序之后的通知
            </summary>
        </member>
        <member name="P:CPF.CollectionChangedEventArgs`1.OldItem">
            <summary>
            被替换的项，Replace的时候才有意义。Item就是替换之后的新的项
            </summary>
        </member>
        <member name="T:CPF.CommandParameter">
            <summary>
            命令参数的数据
            </summary>
        </member>
        <member name="F:CPF.CommandParameter.EventArgs">
            <summary>
            事件数据，如果是属性的话，则事件数据对象是CPFPropertyChangedEventArgs
            </summary>
        </member>
        <member name="F:CPF.CommandParameter.EventSender">
            <summary>
            事件发送者
            </summary>
        </member>
        <member name="F:CPF.CommandParameter.PropertyValue">
            <summary>
            属性值
            </summary>
        </member>
        <member name="F:CPF.CommandParameter.OldPropertyValue">
            <summary>
            旧的属性值
            </summary>
        </member>
        <member name="F:CPF.CommandParameter.PropertyMetadata">
            <summary>
            属性元数据
            </summary>
        </member>
        <member name="T:CPF.Commands">
            <summary>
            绑定的命令集合
            </summary>
        </member>
        <member name="M:CPF.Commands.Add(System.String,System.String,System.Object,System.Object[])">
            <summary>
            添加处理命令，命令方法在CommandContext或者其他对象上
            </summary>
            <param name="eventName">触发的事件名或者属性名</param>
            <param name="methodName">触发事件之后调用的方法名</param>
            <param name="obj">方法所在的对象如果为null，在是CommandContext</param>
            <param name="ps">方法参数，如果参数是CommandParameter则可以获取对应的事件数据或者属性值</param>
        </member>
        <member name="M:CPF.Commands.Add(System.String,System.String,System.Func{CPF.UIElement,CPF.UIElement},System.Object[])">
            <summary>
            添加处理命令，初始化的时候查找相对元素并绑定
            </summary>
            <param name="eventName"></param>
            <param name="methodName"></param>
            <param name="find"></param>
            <param name="ps"></param>
        </member>
        <member name="M:CPF.Commands.Add(System.String,System.Action{CPF.CpfObject,System.Object})">
            <summary>
            添加处理命令
            </summary>
            <param name="eventName"></param>
            <param name="action">参数是事件数据EventArgs或者属性的CPFPropertyChangedEventArgs</param>
        </member>
        <member name="M:CPF.Commands.GetEnumerator">
            <summary>
            KeyValuePair&lt;string, List&lt;Command&gt;&gt;
            </summary>
            <returns></returns>
        </member>
        <member name="T:CPF.ComputedAttribute">
            <summary>
            计算属性，设置需要关联的属性
            </summary>
        </member>
        <member name="M:CPF.ComputedAttribute.#ctor(System.String[])">
            <summary>
            计算属性，设置需要关联的属性
            </summary>
            <param name="propertyName"></param>
        </member>
        <member name="P:CPF.ComputedAttribute.Properties">
            <summary>
            关联的属性
            </summary>
        </member>
        <member name="P:CPF.ContentElement.Parent">
            <summary>
            获取此元素的逻辑树中的父级。
            </summary>
        </member>
        <member name="T:CPF.Controls.Border">
            <summary>
            在另一个元素四周绘制边框和背景。
            </summary>
        </member>
        <member name="P:CPF.Controls.Border.Child">
            <summary>
            获取或设置 单一子元素。
            </summary>
        </member>
        <member name="P:CPF.Controls.Border.Background">
            <summary>
            背景填充
            </summary>
        </member>
        <member name="P:CPF.Controls.Border.BorderFill">
            <summary>
            边框线条填充
            </summary>
        </member>
        <member name="P:CPF.Controls.Border.BorderStroke">
            <summary>
            获取或设置线条类型
            </summary>
        </member>
        <member name="P:CPF.Controls.Border.Padding">
            <summary>
            获取或设置描述 Thickness 及其子元素之间的空间量的 Border 值。
            </summary>
        </member>
        <member name="P:CPF.Controls.Border.BorderThickness">
            <summary>
            四周边框粗细
            </summary>
        </member>
        <member name="P:CPF.Controls.Border.CornerRadius">
            <summary>
            获取或设置一个值，该值表示将 Border 的角倒圆的程度。
            </summary>
        </member>
        <member name="P:CPF.Controls.Border.ShadowColor">
            <summary>
            阴影颜色
            </summary>
        </member>
        <member name="P:CPF.Controls.Border.ShadowBlur">
            <summary>
            模糊宽度
            </summary>
        </member>
        <member name="P:CPF.Controls.Border.ShadowHorizontal">
            <summary>
            阴影水平偏移
            </summary>
        </member>
        <member name="P:CPF.Controls.Border.ShadowVertical">
            <summary>
            阴影垂直偏移
            </summary>
        </member>
        <member name="P:CPF.Controls.Border.BorderType">
            <summary>
            边框类型
            </summary>
        </member>
        <member name="M:CPF.Controls.Border.SudokuDrawImage(CPF.Drawing.DrawingContext,CPF.Drawing.Image,CPF.Drawing.Rect,CPF.Thickness,System.Boolean)">
            <summary>
            九宫格绘制图片
            </summary>
            <param name="g"></param>
            <param name="img"></param>
            <param name="rect">绘制区域</param>
            <param name="padding">裁减宽度</param>
            <param name="drawCenter">是否绘制中间</param>
        </member>
        <member name="F:CPF.Controls.BorderType.BorderStroke">
            <summary>
            四周边框一样粗，BorderStroke属性定义粗细样式，支持设置虚线
            </summary>
        </member>
        <member name="F:CPF.Controls.BorderType.BorderThickness">
            <summary>
            四周边框可以不同粗细，BorderThickness属性定义四周粗细，如果定义圆角了可能会有锯齿
            </summary>
        </member>
        <member name="T:CPF.Controls.Button">
            <summary>
            表示 Windows 按钮控件，该按钮对 Click 事件做出反应。
            </summary>
        </member>
        <member name="T:CPF.Controls.ButtonBase">
            <summary>
            表示所有 Button 控件的基类。
            </summary>
        </member>
        <member name="P:CPF.Controls.ButtonBase.ClickMode">
            <summary>
            获取或设置 Click 事件何时发生。
            </summary>
        </member>
        <member name="P:CPF.Controls.ButtonBase.IsPressed">
            <summary>
            是否按下
            </summary>
        </member>
        <member name="T:CPF.Controls.ClickMode">
            <summary>
            ClickMode specifies when the Click event should fire
            </summary>
        </member>
        <member name="F:CPF.Controls.ClickMode.Release">
            <summary>
            Used to specify that the Click event will fire on the
            normal down->up semantics of Button interaction.
            Escaping mechanisms work, too. Capture is taken by the
            Button while it is down and released after the
            Click is fired.
            </summary>
        </member>
        <member name="F:CPF.Controls.ClickMode.Press">
            <summary>
            Used to specify that the Click event should fire on the
            down of the Button.  Basically, Click will fire as
            soon as the IsPressed property on Button becomes true.
            Even if the mouse is held down on the Button, capture
            is not taken.
            </summary>
        </member>
        <member name="F:CPF.Controls.ClickMode.Hover">
            <summary>
            Used to specify that the Click event should fire when the
            mouse hovers over a Button.
            </summary>
        </member>
        <member name="T:CPF.Controls.Calendar">
            <summary>
            代表一个控件，此控件允许用户使用可视的日历显示来选择日期
            </summary>
        </member>
        <member name="P:CPF.Controls.Calendar.SelectedDate">
            <summary>
            选中的日期
            </summary>
        </member>
        <member name="P:CPF.Controls.Calendar.DisplayDate">
            <summary>
            获取或设置要显示的日期。
            </summary>
        </member>
        <member name="P:CPF.Controls.Calendar.DisplayMode">
            <summary>
            当前显示模式
            </summary>
        </member>
        <member name="P:CPF.Controls.Calendar.FirstDayOfWeek">
            <summary>
            获取或设置被视为一周开始的日期。
            </summary>
        </member>
        <member name="F:CPF.Controls.CalendarMode.Month">
            <summary>
            The Calendar displays a month at a time.
            </summary>
        </member>
        <member name="F:CPF.Controls.CalendarMode.Year">
            <summary>
             The Calendar displays a year at a time.
            </summary>
        </member>
        <member name="T:CPF.Controls.CalendarButton">
            <summary>
            表示 Calendar 对象上的月份或年份。
            </summary>
        </member>
        <member name="T:CPF.Controls.CalendarDayButton">
            <summary>
            表示 Calendar 上的日。
            </summary>
        </member>
        <member name="P:CPF.Controls.CalendarDayButton.IsBlackedOut">
            <summary>
            是否不是本月的
            </summary>
        </member>
        <member name="T:CPF.Controls.CheckBox">
            <summary>
            表示用户可以选择和清除的控件。
            </summary>
        </member>
        <member name="T:CPF.Controls.ColumnDefinition">
            <summary>
            定义Grid的列
            </summary>
        </member>
        <member name="P:CPF.Controls.ColumnDefinition.Width">
            <summary>
            权重*或者数值
            </summary>
        </member>
        <member name="T:CPF.Controls.ComboBox">
            <summary>
            表示带有下拉列表的选择控件，通过单击控件上的箭头可显示或隐藏下拉列表
            </summary>
        </member>
        <member name="P:CPF.Controls.ComboBox.DropDownPanel">
            <summary>
            下拉框容器 #DropDownPanel
            </summary>
        </member>
        <member name="P:CPF.Controls.ComboBox.IsDropDownOpen">
            <summary>
            获取或设置一个值，该值指示组合框的下拉部分当前是否打开
            </summary>
        </member>
        <member name="P:CPF.Controls.ComboBox.ItemsPanelHeight">
            <summary>
            下拉列表高度
            </summary>
        </member>
        <member name="T:CPF.Controls.ContentControl">
            <summary>
            表示包含一段任意类型内容的控件。
            </summary>
        </member>
        <member name="P:CPF.Controls.ContentControl.Content">
            <summary>
            内容可以是字符串，UI元素等等
            </summary>
        </member>
        <member name="P:CPF.Controls.ContentControl.ContentTemplate">
            <summary>
            内容模板
            </summary>
        </member>
        <member name="P:CPF.Controls.ContentControl.ContentStringFormat">
            <summary>
            获取或设置一个撰写字符串，该字符串指定如果 Content 属性显示为字符串，应如何设置该属性的格式.String.Format
            </summary>
        </member>
        <member name="T:CPF.Controls.ContentTemplate">
            <summary>
            内容模板
            </summary>
        </member>
        <member name="T:CPF.Controls.ContextMenu">
            <summary>
            右键菜单
            </summary>
        </member>
        <member name="P:CPF.Controls.ContextMenu.IsOpen">
            <summary>
            获取或设置是否显示，通过这个属性来显示和隐藏
            </summary>
        </member>
        <member name="P:CPF.Controls.ContextMenu.PlacementTarget">
            <summary>
            获取或设置当打开 Popup 控件时该控件相对于其放置的元素。
            </summary>
        </member>
        <member name="P:CPF.Controls.ContextMenu.Placement">
            <summary>
            获取或设置 Popup 控件打开时的控件方向，并指定 Popup 控件在与屏幕边界重叠时的控件行为
            </summary>
        </member>
        <member name="P:CPF.Controls.ContextMenu.Visibility">
            <summary>
            这里不建议使用
            </summary>
        </member>
        <member name="P:CPF.Controls.ContextMenu.MarginBottom">
            <summary>
            这里不建议使用
            </summary>
        </member>
        <member name="P:CPF.Controls.ContextMenu.MarginLeft">
            <summary>
            这里不建议使用
            </summary>
        </member>
        <member name="P:CPF.Controls.ContextMenu.MarginTop">
            <summary>
            这里不建议使用
            </summary>
        </member>
        <member name="P:CPF.Controls.ContextMenu.MarginRight">
            <summary>
            这里不建议使用
            </summary>
        </member>
        <member name="P:CPF.Controls.ContextMenu.PopupMarginLeft">
            <summary>
            弹出时候的定位 默认值 1
            </summary>
        </member>
        <member name="P:CPF.Controls.ContextMenu.PopupMarginRight">
            <summary>
            弹出时候的定位
            </summary>
        </member>
        <member name="P:CPF.Controls.ContextMenu.PopupMarginTop">
            <summary>
            弹出时候的定位 默认值 1
            </summary>
        </member>
        <member name="P:CPF.Controls.ContextMenu.PopupMarginBottm">
            <summary>
            弹出时候的定位
            </summary>
        </member>
        <member name="T:CPF.Controls.Control">
            <summary>
            支持可视化设计的控件基类
            </summary>
        </member>
        <member name="P:CPF.Controls.Control.Background">
            <summary>
            背景填充
            </summary>
        </member>
        <member name="P:CPF.Controls.Control.BorderFill">
            <summary>
            边框线条填充
            </summary>
        </member>
        <member name="P:CPF.Controls.Control.BorderStroke">
            <summary>
            获取或设置线条类型
            </summary>
        </member>
        <member name="P:CPF.Controls.Control.Padding">
            <summary>
            获取或设置描述 Thickness 及其子元素之间的空间量的 Border 值。格式：all或者left,top,right,bottom
            </summary>
        </member>
        <member name="P:CPF.Controls.Control.BorderThickness">
            <summary>
            四周边框粗细
            </summary>
        </member>
        <member name="P:CPF.Controls.Control.CornerRadius">
            <summary>
            获取或设置一个值，该值表示将 Border 的角倒圆的程度。格式 一个数字或者四个数字 比如10或者 10,10,10,10  topLeft,topRight,bottomRight,bottomLeft
            </summary>
        </member>
        <member name="P:CPF.Controls.Control.BorderType">
            <summary>
            边框类型
            </summary>
        </member>
        <member name="P:CPF.Controls.Control.FontFamily">
            <summary>
            Gets or sets the font family used to draw the control's text.
            </summary>
        </member>
        <member name="P:CPF.Controls.Control.FontSize">
            <summary>
            Gets or sets the size of the control's text in points.
            </summary>
        </member>
        <member name="P:CPF.Controls.Control.FontStyle">
            <summary>
            Gets or sets the font style used to draw the control's text.
            </summary>
        </member>
        <member name="P:CPF.Controls.Control.TextDecoration">
            <summary>
            表示一个文本修饰，它是可添加到文本的视觉装饰（如下划线）。字符串格式： overline/Underline/Strikethrough [width[,Solid/Dash/Dot/DashDot/DashDotDot]] [color]
            </summary>
        </member>
        <member name="P:CPF.Controls.Control.Foreground">
            <summary>
            Gets or sets the brush used to draw the control's text and other foreground elements.
            </summary>
        </member>
        <member name="M:CPF.Controls.Control.InitializeComponent">
            <summary>
            初始化模板，重写时一般不需要调用base.InitializeComponent()
            </summary>
        </member>
        <member name="P:CPF.Controls.Control.IsInitialized">
            <summary>
            是否初始化组件完成
            </summary>
        </member>
        <member name="P:CPF.Controls.Control.Template">
            <summary>
            模板，用来外部替换InitializeComponent操作，第一个参数就是当前对象，第二个就是当前对象的Children，由于Children大部分情况下是Protect，所以这里通过参数提供。初始化组件之前设置才有意义
            </summary>
        </member>
        <member name="M:CPF.Controls.Control.Initialize">
            <summary>
            调用内部InitializeComponent初始化组件
            </summary>
        </member>
        <member name="T:CPF.Controls.CornerRadius">
            <summary>
            表示矩形的角的半径，格式 一个数字或者四个数字 比如10或者 10,10,10,10  topLeft,topRight,bottomRight,bottomLeft
            </summary>
        </member>
        <member name="M:CPF.Controls.CornerRadius.#ctor(System.Single)">
            <summary>
            所有圆角度数都一样
            </summary>
            <param name="uniformRadius"></param>
        </member>
        <member name="M:CPF.Controls.CornerRadius.#ctor(System.Single,System.Single,System.Single,System.Single)">
            <summary>
            设置每个角
            </summary>
            <param name="topLeft">The thickness for the top left corner.</param>
            <param name="topRight">The thickness for the top right corner.</param>
            <param name="bottomRight">The thickness for the bottom right corner.</param>
            <param name="bottomLeft">The thickness for the bottom left corner.</param>
        </member>
        <member name="M:CPF.Controls.CornerRadius.Equals(System.Object)">
            <summary>
            This function compares to the provided object for type and value equality.
            </summary>
            <param name="obj">Object to compare</param>
            <returns>True if object is a CornerRadius and all sides of it are equal to this CornerRadius'.</returns>
        </member>
        <member name="M:CPF.Controls.CornerRadius.Equals(CPF.Controls.CornerRadius)">
            <summary>
            Compares this instance of CornerRadius with another instance.
            </summary>
            <param name="cornerRadius">CornerRadius instance to compare.</param>
            <returns><c>true</c>if this CornerRadius instance has the same value 
            and unit type as cornerRadius.</returns>
        </member>
        <member name="M:CPF.Controls.CornerRadius.GetHashCode">
            <summary>
            This function returns a hash code.
            </summary>
            <returns>Hash code</returns>
        </member>
        <member name="M:CPF.Controls.CornerRadius.ToString">
            <summary>
            Converts this Thickness object to a string.
            </summary>
            <returns>String conversion.</returns>
        </member>
        <member name="M:CPF.Controls.CornerRadius.op_Equality(CPF.Controls.CornerRadius,CPF.Controls.CornerRadius)">
            <summary>
            Overloaded operator to compare two CornerRadiuses for equality.
            </summary>
            <param name="cr1">First CornerRadius to compare</param>
            <param name="cr2">Second CornerRadius to compare</param>
            <returns>True if all sides of the CornerRadius are equal, false otherwise</returns>
        </member>
        <member name="M:CPF.Controls.CornerRadius.op_Inequality(CPF.Controls.CornerRadius,CPF.Controls.CornerRadius)">
            <summary>
            Overloaded operator to compare two CornerRadiuses for inequality.
            </summary>
            <param name="cr1">First CornerRadius to compare</param>
            <param name="cr2">Second CornerRadius to compare</param>
            <returns>False if all sides of the CornerRadius are equal, true otherwise</returns>
        </member>
        <member name="P:CPF.Controls.CornerRadius.TopLeft">
            <summary>This property is the Length on the thickness' top left corner</summary>
        </member>
        <member name="P:CPF.Controls.CornerRadius.TopRight">
            <summary>This property is the Length on the thickness' top right corner</summary>
        </member>
        <member name="P:CPF.Controls.CornerRadius.BottomRight">
            <summary>This property is the Length on the thickness' bottom right corner</summary>
        </member>
        <member name="P:CPF.Controls.CornerRadius.BottomLeft">
            <summary>This property is the Length on the thickness' bottom left corner</summary>
        </member>
        <member name="T:CPF.Controls.DataGrid">
            <summary>
            表示用于在可自定义的网格中显示数据的控件。
            </summary>
        </member>
        <member name="P:CPF.Controls.DataGrid.SelectionMode">
            <summary>
            选择行为
            </summary>
        </member>
        <member name="P:CPF.Controls.DataGrid.SelectionUnit">
            <summary>
            选择行为
            </summary>
        </member>
        <member name="P:CPF.Controls.DataGrid.Columns">
            <summary>
            获取一个集合，该集合包含 DataGrid 中的所有列。
            </summary>
        </member>
        <member name="P:CPF.Controls.DataGrid.ItemsPanel">
            <summary>
            这里无效，不建议使用
            </summary>
        </member>
        <member name="P:CPF.Controls.DataGrid.VirtualizationMode">
            <summary>
            虚拟模式下元素使用方式
            </summary>
        </member>
        <member name="T:CPF.Controls.DataGridCell">
            <summary>
            表示 DataGrid 控件的单元格。
            </summary>
        </member>
        <member name="P:CPF.Controls.DataGridCell.IsEditing">
            <summary>
            是否是编辑模式
            </summary>
        </member>
        <member name="T:CPF.Controls.DataGridCellTemplate">
            <summary>
            单元格模板
            </summary>
        </member>
        <member name="P:CPF.Controls.DataGridCellTemplate.IsError">
            <summary>
            传递数据的时候是否出错
            </summary>
        </member>
        <member name="M:CPF.Controls.DataGridCellTemplate.Convert(System.Func{System.Object,System.Object})">
            <summary>
            数据转换
            </summary>
            <param name="func"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.Controls.DataGridCellTemplate.ConvertBack(System.Func{System.Object,System.Object})">
            <summary>
            数据转换
            </summary>
            <param name="func"></param>
            <returns></returns>
        </member>
        <member name="T:CPF.Controls.DataGridCellTextEditTemplate">
            <summary>
            DataGrid文本编辑模板
            </summary>
        </member>
        <member name="P:CPF.Controls.DataGridColumn.HeaderStringFormat">
            <summary>
            获取或设置一个撰写字符串，该字符串指定如果 Header 属性显示为字符串，应如何设置该属性的格式.String.Format
            </summary>
        </member>
        <member name="P:CPF.Controls.DataGridColumn.SortMemberPath">
            <summary>
            获取或设置属性名称,它指示作为排序依据的成员
            </summary>
        </member>
        <member name="P:CPF.Controls.DataGridColumn.Header">
            <summary>
            获取或设置列标题的内容。
            </summary>
        </member>
        <member name="P:CPF.Controls.DataGridColumn.DisplayIndex">
            <summary>
            获取或设置该列相对于 DataGrid 中其他列的显示位置。当列显示在关联的 DataGrid 中时，该列从零开始的位置。
            </summary>
        </member>
        <member name="P:CPF.Controls.DataGridColumn.SortDirection">
            <summary>
            获取或设置列的排序方向(升序或降序)。
            </summary>
        </member>
        <member name="P:CPF.Controls.DataGridColumn.HeaderElement">
            <summary>
            获取和列关联的UIElement
            </summary>
        </member>
        <member name="P:CPF.Controls.DataGridColumn.DataGridOwner">
            <summary>
            获取包含此列的 DataGrid 控件。
            </summary>
        </member>
        <member name="P:CPF.Controls.DataGridColumn.CanUserResize">
            <summary>
            获取或设置一个值，该值指示用户是否可使用鼠标调整列宽。
            </summary>
        </member>
        <member name="P:CPF.Controls.DataGridColumn.CanUserSort">
            <summary>
            获取或设置一个值，该值指示用户能否通过单击列标题对列进行排序
            </summary>
        </member>
        <member name="P:CPF.Controls.DataGridColumn.Binding">
            <summary>
            绑定到数据源的属性或者数据表列的名称
            </summary>
        </member>
        <member name="M:CPF.Controls.DataGridColumn.GenerateElement">
            <summary>
            当在派生类中被重写时，获取一个只读元素，该元素绑定到该列的 Binding 属性值。
            </summary>
            <returns></returns>
        </member>
        <member name="M:CPF.Controls.DataGridColumn.GenerateEditingElement">
            <summary>
            当在派生类中被重写时，获取一个编辑元素，该元素绑定到该列的 Binding 属性值。
            </summary>
            <returns></returns>
        </member>
        <member name="T:CPF.Controls.DataGridBinding">
            <summary>
            定义DataGrid的数据绑定
            </summary>
        </member>
        <member name="M:CPF.Controls.DataGridBinding.#ctor(System.String,CPF.BindingMode,System.Func{System.Object,System.Object},System.Func{System.Object,System.Object})">
            <summary>
            如果定义了双向绑定的转换器，两个转换器必须对应，否则可能会出现死循环
            </summary>
            <param name="sourcePropertyName"></param>
            <param name="bindingMode"></param>
            <param name="convert"></param>
            <param name="convertBack"></param>
        </member>
        <member name="P:CPF.Controls.DataGridBinding.BindingMode">
            <summary>
            绑定模式
            </summary>
        </member>
        <member name="P:CPF.Controls.DataGridBinding.Convert">
            <summary>
            数据绑定的转换
            </summary>
        </member>
        <member name="P:CPF.Controls.DataGridBinding.ConvertBack">
            <summary>
            数据绑定的转换，转换回数据源
            </summary>
        </member>
        <member name="T:CPF.Controls.DataGridColumnTemplate">
            <summary>
            DataGridColumn模板
            </summary>
        </member>
        <member name="P:CPF.Controls.DataGridColumnTemplate.Column">
            <summary>
            当前所在的列
            </summary>
        </member>
        <member name="M:CPF.Controls.DataGridColumnTemplate.ThumbDragDelta(CPF.CpfObject,System.Object)">
            <summary>
            用于绑定拖拽调整大小的Thumb.DragDelta
            </summary>
            <param name="data"></param>
        </member>
        <member name="P:CPF.Controls.DataGridComboBoxColumn.DisplayMemberPath">
            <summary>
            获取或设置指向源对象上的值的路径以提供该对象的可视化表示形式。
            </summary>
        </member>
        <member name="P:CPF.Controls.DataGridComboBoxColumn.SelectedValuePath">
            <summary>
            获取或设置用于从 SelectedValue 获取 SelectedItem 的路径。
            </summary>
        </member>
        <member name="M:CPF.Controls.DataGridLength.#ctor(System.Single)">
            <summary>
                Initializes as an absolute value in pixels.
            </summary>
            <param name="pixels">
                Specifies the number of 'device-independent pixels' (96 pixels-per-inch).
            </param>
            <exception cref="T:System.ArgumentException">
                If <c>pixels</c> parameter is <c>float.NaN</c>
                or <c>pixels</c> parameter is <c>float.NegativeInfinity</c>
                or <c>pixels</c> parameter is <c>float.PositiveInfinity</c>.
            </exception>
        </member>
        <member name="M:CPF.Controls.DataGridLength.#ctor(System.Single,CPF.Controls.DataGridLengthUnitType)">
            <summary>
                Initializes to a specified value and unit.
            </summary>
            <param name="value">The value to hold.</param>
            <param name="type">The unit of <c>value</c>.</param>
            <remarks> 
                <c>value</c> is ignored unless <c>type</c> is
                <c>DataGridLengthUnitType.Pixel</c> or
                <c>DataGridLengthUnitType.Star</c>
            </remarks>
            <exception cref="T:System.ArgumentException">
                If <c>value</c> parameter is <c>float.NaN</c>
                or <c>value</c> parameter is <c>float.NegativeInfinity</c>
                or <c>value</c> parameter is <c>float.PositiveInfinity</c>.
            </exception>
        </member>
        <member name="M:CPF.Controls.DataGridLength.op_Equality(CPF.Controls.DataGridLength,CPF.Controls.DataGridLength)">
            <summary>
            Overloaded operator, compares 2 DataGridLength's.
            </summary>
            <param name="gl1">first DataGridLength to compare.</param>
            <param name="gl2">second DataGridLength to compare.</param>
            <returns>true if specified DataGridLengths have same value 
            and unit type.</returns>
        </member>
        <member name="M:CPF.Controls.DataGridLength.op_Inequality(CPF.Controls.DataGridLength,CPF.Controls.DataGridLength)">
            <summary>
            Overloaded operator, compares 2 DataGridLength's.
            </summary>
            <param name="gl1">first DataGridLength to compare.</param>
            <param name="gl2">second DataGridLength to compare.</param>
            <returns>true if specified DataGridLengths have either different value or 
            unit type.</returns>
        </member>
        <member name="M:CPF.Controls.DataGridLength.Equals(System.Object)">
            <summary>
            Compares this instance of DataGridLength with another object.
            </summary>
            <param name="obj">Reference to an object for comparison.</param>
            <returns><c>true</c>if this DataGridLength instance has the same value 
            and unit type as oCompare.</returns>
        </member>
        <member name="M:CPF.Controls.DataGridLength.Equals(CPF.Controls.DataGridLength)">
            <summary>
            Compares this instance of DataGridLength with another instance.
            </summary>
            <param name="other">Grid length instance to compare.</param>
            <returns><c>true</c>if this DataGridLength instance has the same value 
            and unit type as gridLength.</returns>
        </member>
        <member name="M:CPF.Controls.DataGridLength.GetHashCode">
            <summary>
            <see cref="M:System.Object.GetHashCode"/>
            </summary>
            <returns><see cref="M:System.Object.GetHashCode"/></returns>
        </member>
        <member name="P:CPF.Controls.DataGridLength.IsAbsolute">
            <summary>
                Returns <c>true</c> if this DataGridLength instance holds 
                an absolute (pixel) value.
            </summary>
        </member>
        <member name="P:CPF.Controls.DataGridLength.IsAuto">
            <summary>
                Returns <c>true</c> if this DataGridLength instance is 
                automatic (not specified).
            </summary>
        </member>
        <member name="P:CPF.Controls.DataGridLength.IsStar">
            <summary>
                Returns <c>true</c> if this DataGridLength instance holds a weighted proportion
                of available space.
            </summary>
        </member>
        <member name="P:CPF.Controls.DataGridLength.IsSizeToCells">
            <summary>
                Returns <c>true</c> if this instance is to size to the cells of a column or row.
            </summary>
        </member>
        <member name="P:CPF.Controls.DataGridLength.IsSizeToHeader">
            <summary>
                Returns <c>true</c> if this instance is to size to the header of a column or row.
            </summary>
        </member>
        <member name="P:CPF.Controls.DataGridLength.Value">
            <summary>
                Returns value part of this DataGridLength instance.
            </summary>
        </member>
        <member name="P:CPF.Controls.DataGridLength.UnitType">
            <summary>
                Returns unit type of this DataGridLength instance.
            </summary>
        </member>
        <member name="M:CPF.Controls.DataGridLength.ToString">
            <summary>
                Returns the string representation of this object.
            </summary>
        </member>
        <member name="P:CPF.Controls.DataGridLength.Auto">
            <summary>
                Returns a value initialized to mean "auto."
            </summary>
        </member>
        <member name="P:CPF.Controls.DataGridLength.SizeToCells">
            <summary>
                Returns a value initialized to mean "size to cells."
            </summary>
        </member>
        <member name="P:CPF.Controls.DataGridLength.SizeToHeader">
            <summary>
                Returns a value initialized to mean "size to header."
            </summary>
        </member>
        <member name="M:CPF.Controls.DataGridLength.op_Implicit(System.Single)~CPF.Controls.DataGridLength">
            <summary>
                Allows for values of type float to be implicitly converted
                to DataGridLength.
            </summary>
            <param name="value">The number of pixels to represent.</param>
            <returns>The DataGridLength representing the requested number of pixels.</returns>
        </member>
        <member name="M:CPF.Controls.DataGridLength.op_Implicit(System.String)~CPF.Controls.DataGridLength">
            <summary>
            数字*或者直接数字或者auto,sizetocells,sizetoheader
            </summary>
            <param name="n"></param>
        </member>
        <member name="T:CPF.Controls.DataGridLengthUnitType">
            <summary>
            定义一些常量，这些常量指定如何调整 DataGrid 中元素的大小。
            </summary>
        </member>
        <member name="F:CPF.Controls.DataGridLengthUnitType.Default">
            <summary>
            元素大小为以像素表示的固定值。
                The value is expressed in pixels.
            </summary>
        </member>
        <member name="F:CPF.Controls.DataGridLengthUnitType.Auto">
            <summary>
            元素大小基于单元格的内容和列标题。
                The value indicates that content should be calculated based on the 
                unconstrained sizes of all cells and header in a column.
            </summary>
        </member>
        <member name="F:CPF.Controls.DataGridLengthUnitType.SizeToCells">
            <summary>
            元素大小基于单元格的内容。
                The value indicates that content should be be calculated based on the
                unconstrained sizes of all cells in a column.
            </summary>
        </member>
        <member name="F:CPF.Controls.DataGridLengthUnitType.SizeToHeader">
            <summary>
            元素大小基于列标题的内容。
                The value indicates that content should be calculated based on the
                unconstrained size of the column header.
            </summary>
        </member>
        <member name="F:CPF.Controls.DataGridLengthUnitType.Star">
            <summary>
            元素大小为可用空间的加权比例。
                The value is expressed as a weighted proportion of available space.
            </summary>
        </member>
        <member name="T:CPF.Controls.DataGridRow">
            <summary>
            DataGrid的一行
            </summary>
        </member>
        <member name="P:CPF.Controls.DataGridRow.DataGridOwner">
            <summary>
            获取包含此列的 DataGrid 控件。
            </summary>
        </member>
        <member name="T:CPF.Controls.DataGridScrollViewer">
            <summary>
            DataGrid内部ScrollViewer
            </summary>
        </member>
        <member name="T:CPF.Controls.DataGridTemplateColumn">
            <summary>
            表示一个 DataGrid 列，该列在其单元格中承载模板指定的内容。
            </summary>
        </member>
        <member name="P:CPF.Controls.DataGridTemplateColumn.CellTemplate">
            <summary>
            单元格模板
            </summary>
        </member>
        <member name="P:CPF.Controls.DataGridTemplateColumn.CellEditingTemplate">
            <summary>
            编辑模式下的单元格模板
            </summary>
        </member>
        <member name="T:CPF.Controls.DataGridTextColumn">
            <summary>
            表示一个 DataGrid 列，该列在其单元格中承载文本内容。
            </summary>
        </member>
        <member name="T:CPF.Controls.DatePicker">
            <summary>
            表示一个允许用户选择日期的控件。
            </summary>
        </member>
        <member name="P:CPF.Controls.DatePicker.SelectedDate">
            <summary>
            选中的日期
            </summary>
        </member>
        <member name="P:CPF.Controls.DatePicker.DisplayDate">
            <summary>
            获取或设置要显示的日期。
            </summary>
        </member>
        <member name="P:CPF.Controls.DatePicker.DisplayMode">
            <summary>
            当前显示模式
            </summary>
        </member>
        <member name="P:CPF.Controls.DatePicker.FirstDayOfWeek">
            <summary>
            获取或设置被视为一周开始的日期。
            </summary>
        </member>
        <member name="P:CPF.Controls.DatePicker.IsDropDownOpen">
            <summary>
            获取或设置一个值，该值指示组合框的下拉部分当前是否打开
            </summary>
        </member>
        <member name="P:CPF.Controls.DatePicker.SelectedDateFormat">
            <summary>
            获取或设置用于显示选定日期的格式
            </summary>
        </member>
        <member name="P:CPF.Controls.DatePicker.ShowClearButton">
            <summary>
            是否显示清空按钮
            </summary>
        </member>
        <member name="P:CPF.Controls.DatePicker.AutoClose">
            <summary>
            选中一个日期之后自动关闭
            </summary>
        </member>
        <member name="P:CPF.Controls.DatePicker.DropDownPanel">
            <summary>
            下拉框容器
            </summary>
        </member>
        <member name="T:CPF.Controls.Decorator">
            <summary>
            提供在单个子元素
            </summary>
        </member>
        <member name="P:CPF.Controls.Decorator.Child">
            <summary>
            获取或设置 单一子元素。
            </summary>
        </member>
        <member name="T:CPF.Controls.Dock">
            <summary>
            指定 Dock 内子元素的 位置
            </summary>
        </member>
        <member name="T:CPF.Controls.DockPanel">
            <summary>
            定义一个区域，从中可以按相对位置水平或垂直排列各个子元素。
            </summary>
        </member>
        <member name="P:CPF.Controls.DockPanel.Dock">
            <summary>
            获取或设置一个值，该值指示一个子元素在父级 DockPanel 中的位置。 附加属性
            </summary>
        </member>
        <member name="P:CPF.Controls.DockPanel.LastChildFill">
            <summary>
            获取或设置一个值，该值指示 DockPanel 中的最后一个子元素是否拉伸以填充剩余的可用空间
            </summary>
        </member>
        <member name="M:CPF.Controls.DockPanel.ArrangeOverride(CPF.Drawing.Size@)">
            <summary>
            DockPanel computes a position and final size for each of its children based upon their
            <see cref="T:CPF.Controls.Dock" /> enum and sizing properties.
            </summary>
            <param name="arrangeSize">Size that DockPanel will assume to position children.</param>
        </member>
        <member name="T:CPF.Controls.DocumentBlock">
            <summary>
            简单的文档控件，支持图片字体控件等元素布局，支持每个字符设置样式
            </summary>
        </member>
        <member name="P:CPF.Controls.DocumentBlock.Background">
            <summary>
            背景填充
            </summary>
        </member>
        <member name="P:CPF.Controls.DocumentBlock.FontFamily">
            <summary>
            字体名称
            </summary>
        </member>
        <member name="P:CPF.Controls.DocumentBlock.FontSize">
            <summary>
            字体尺寸
            </summary>
        </member>
        <member name="P:CPF.Controls.DocumentBlock.FontStyle">
            <summary>
            字体样式
            </summary>
        </member>
        <member name="P:CPF.Controls.DocumentBlock.Foreground">
            <summary>
            前景色
            </summary>
        </member>
        <member name="P:CPF.Controls.DocumentBlock.TextDecoration">
            <summary>
            表示一个文本修饰，它是可添加到文本的视觉装饰（如下划线）。字符串格式： overline/Underline/Strikethrough/none [width[,Solid/Dash/Dot/DashDot/DashDotDot]] [color]
            </summary>
        </member>
        <member name="P:CPF.Controls.DocumentBlock.Text">
            <summary>
            获取或设置显示的文本，如果设置Document里的内容了，Text属性值不会自动变化
            </summary>
        </member>
        <member name="T:CPF.Controls.Expander">
            <summary>
            表示一种控件，该控件显示具有可折叠内容显示窗口的标题。
            </summary>
        </member>
        <member name="P:CPF.Controls.Expander.Header">
            <summary>
            获取或设置每个控件的标题所用的数据。
            </summary>
        </member>
        <member name="P:CPF.Controls.Expander.HeaderTemplate">
            <summary>
            获取或设置用于显示控件标头的内容的模板。
            </summary>
        </member>
        <member name="P:CPF.Controls.Expander.IsExpanded">
            <summary>
            获取或设置 Expander 内容窗口是否可见
            </summary>
        </member>
        <member name="T:CPF.Controls.Grid">
            <summary>
            网格布局
            </summary>
        </member>
        <member name="M:CPF.Controls.Grid.#ctor">
            <summary>
            网格布局
            </summary>
        </member>
        <member name="P:CPF.Controls.Grid.ColumnDefinitions">
            <summary>
            列
            </summary>
        </member>
        <member name="P:CPF.Controls.Grid.RowDefinitions">
            <summary>
            行
            </summary>
        </member>
        <member name="P:CPF.Controls.Grid.RowIndex">
            <summary>
            获取或设置元素行索引
            </summary>
        </member>
        <member name="P:CPF.Controls.Grid.ColumnIndex">
            <summary>
            获取或设置元素列索引
            </summary>
        </member>
        <member name="P:CPF.Controls.Grid.RowSpan">
            <summary>
            获取或设置元素跨行
            </summary>
        </member>
        <member name="P:CPF.Controls.Grid.ColumnSpan">
            <summary>
            获取或设置元素跨列
            </summary>
        </member>
        <member name="P:CPF.Controls.Grid.LineFill">
            <summary>
            网格线条填充
            </summary>
        </member>
        <member name="P:CPF.Controls.Grid.LineStroke">
            <summary>
            获取或设置线条类型
            </summary>
        </member>
        <member name="T:CPF.Controls.GridLength">
            <summary>
            表示显式支持 Star 单位类型的元素长度。
            </summary>
        </member>
        <member name="M:CPF.Controls.GridLength.#ctor(System.Single)">
            <summary>
            Constructor, initializes the GridLength as absolute value in pixels.
            </summary>
            <param name="pixels">Specifies the number of 'device-independent pixels' 
            (96 pixels-per-inch).</param>
            <exception cref="T:System.ArgumentException">
            If <c>pixels</c> parameter is <c>float.NaN</c>
            or <c>pixels</c> parameter is <c>float.NegativeInfinity</c>
            or <c>pixels</c> parameter is <c>float.PositiveInfinity</c>.
            </exception>
        </member>
        <member name="M:CPF.Controls.GridLength.#ctor(System.Single,CPF.Controls.GridUnitType)">
            <summary>
            Constructor, initializes the GridLength and specifies what kind of value 
            it will hold.
            </summary>
            <param name="value">Value to be stored by this GridLength 
            instance.</param>
            <param name="type">Type of the value to be stored by this GridLength 
            instance.</param>
            <remarks> 
            If the <c>type</c> parameter is <c>GridUnitType.Auto</c>, 
            then passed in value is ignored and replaced with <c>0</c>.
            </remarks>
            <exception cref="T:System.ArgumentException">
            If <c>value</c> parameter is <c>float.NaN</c>
            or <c>value</c> parameter is <c>float.NegativeInfinity</c>
            or <c>value</c> parameter is <c>float.PositiveInfinity</c>.
            </exception>
        </member>
        <member name="M:CPF.Controls.GridLength.op_Equality(CPF.Controls.GridLength,CPF.Controls.GridLength)">
            <summary>
            Overloaded operator, compares 2 GridLength's.
            </summary>
            <param name="gl1">first GridLength to compare.</param>
            <param name="gl2">second GridLength to compare.</param>
            <returns>true if specified GridLengths have same value 
            and unit type.</returns>
        </member>
        <member name="M:CPF.Controls.GridLength.op_Inequality(CPF.Controls.GridLength,CPF.Controls.GridLength)">
            <summary>
            Overloaded operator, compares 2 GridLength's.
            </summary>
            <param name="gl1">first GridLength to compare.</param>
            <param name="gl2">second GridLength to compare.</param>
            <returns>true if specified GridLengths have either different value or 
            unit type.</returns>
        </member>
        <member name="M:CPF.Controls.GridLength.Equals(System.Object)">
            <summary>
            Compares this instance of GridLength with another object.
            </summary>
            <param name="oCompare">Reference to an object for comparison.</param>
            <returns><c>true</c>if this GridLength instance has the same value 
            and unit type as oCompare.</returns>
        </member>
        <member name="M:CPF.Controls.GridLength.Equals(CPF.Controls.GridLength)">
            <summary>
            Compares this instance of GridLength with another instance.
            </summary>
            <param name="gridLength">Grid length instance to compare.</param>
            <returns><c>true</c>if this GridLength instance has the same value 
            and unit type as gridLength.</returns>
        </member>
        <member name="M:CPF.Controls.GridLength.GetHashCode">
            <summary>
            <see cref="M:System.Object.GetHashCode"/>
            </summary>
            <returns><see cref="M:System.Object.GetHashCode"/></returns>
        </member>
        <member name="P:CPF.Controls.GridLength.IsAbsolute">
            <summary>
            Returns <c>true</c> if this GridLength instance holds 
            an absolute (pixel) value.
            </summary>
        </member>
        <member name="P:CPF.Controls.GridLength.IsAuto">
            <summary>
            Returns <c>true</c> if this GridLength instance is 
            automatic (not specified).
            </summary>
        </member>
        <member name="P:CPF.Controls.GridLength.IsStar">
            <summary>
            Returns <c>true</c> if this GridLength instance holds weighted propertion 
            of available space.
            </summary>
        </member>
        <member name="P:CPF.Controls.GridLength.Value">
            <summary>
            Returns value part of this GridLength instance.
            </summary>
        </member>
        <member name="P:CPF.Controls.GridLength.GridUnitType">
            <summary>
            Returns unit type of this GridLength instance.
            </summary>
        </member>
        <member name="M:CPF.Controls.GridLength.ToString">
            <summary>
            Returns the string representation of this object.
            </summary>
        </member>
        <member name="P:CPF.Controls.GridLength.Auto">
            <summary>
            Returns initialized Auto GridLength value.
            </summary>
        </member>
        <member name="P:CPF.Controls.GridLength.Star">
            <summary>
            * 默认Value=1
            </summary>
        </member>
        <member name="M:CPF.Controls.GridLength.op_Implicit(System.Double)~CPF.Controls.GridLength">
            <summary>
            双精度转化为单精度，单位默认
            </summary>
            <param name="n"></param>
        </member>
        <member name="M:CPF.Controls.GridLength.op_Implicit(System.String)~CPF.Controls.GridLength">
            <summary>
            数字*或者直接数字或者auto
            </summary>
            <param name="n"></param>
        </member>
        <member name="F:CPF.Controls.GridUnitType.Default">
            <summary>
            The value is expressed as a pixel.
            </summary>
        </member>
        <member name="F:CPF.Controls.GridUnitType.Auto">
            <summary>
            该大小由内容对象的大小属性确定。 
            </summary>
        </member>
        <member name="F:CPF.Controls.GridUnitType.Star">
            <summary>
            该值表示为可用空间的加权比例。
            </summary>
        </member>
        <member name="T:CPF.Controls.GridSplitter">
            <summary>
            表示重新分布 Grid 控件的列间距或行间距的控件。
            </summary>
        </member>
        <member name="P:CPF.Controls.GridSplitter.PreviewColor">
            <summary>
            预览拖拽的颜色
            </summary>
        </member>
        <member name="M:CPF.Controls.GridSplitter.OnLostFocus(CPF.RoutedEventArgs)">
            <summary>
                An event announcing that the splitter is no longer focused
            </summary>
        </member>
        <member name="M:CPF.Controls.GridSplitter.OnKeyDown(CPF.Input.KeyEventArgs)">
            <summary>
                This is the method that responds to the KeyDown event.
            </summary>
            <param name="e">Event Arguments</param>
        </member>
        <member name="T:CPF.Controls.GridResizeDirection">
            <summary>
            Enum to indicate whether GridSplitter resizes Columns or Rows
            </summary>
        </member>
        <member name="F:CPF.Controls.GridResizeDirection.Auto">
            <summary>
            Determines whether to resize rows or columns based on its Alignment and 
            width compared to height
            </summary>
        </member>
        <member name="F:CPF.Controls.GridResizeDirection.Columns">
            <summary>
            Resize columns when dragging Splitter.
            </summary>
        </member>
        <member name="F:CPF.Controls.GridResizeDirection.Rows">
            <summary>
            Resize rows when dragging Splitter.
            </summary>
        </member>
        <member name="T:CPF.Controls.GridResizeBehavior">
            <summary>
            Enum to indicate what Columns or Rows the GridSplitter resizes
            </summary>
        </member>
        <member name="F:CPF.Controls.GridResizeBehavior.BasedOnAlignment">
            <summary>
            Determine which columns or rows to resize based on its Alignment.
            </summary>
        </member>
        <member name="F:CPF.Controls.GridResizeBehavior.CurrentAndNext">
            <summary>
            Resize the current and next Columns or Rows.
            </summary>
        </member>
        <member name="F:CPF.Controls.GridResizeBehavior.PreviousAndCurrent">
            <summary>
            Resize the previous and current Columns or Rows.
            </summary>
        </member>
        <member name="F:CPF.Controls.GridResizeBehavior.PreviousAndNext">
            <summary>
            Resize the previous and next Columns or Rows.
            </summary>
        </member>
        <member name="T:CPF.Controls.IHeadered">
            <summary>
            定义一个带标题Header的组件
            </summary>
        </member>
        <member name="P:CPF.Controls.IHeadered.Header">
            <summary>
            获取或设置标记控件的项
            </summary>
        </member>
        <member name="T:CPF.Controls.IScrollInfo">
            <summary>
            It exposes scrolling properties, methods for logical scrolling, computing
            which children are visible, and measuring/drawing/offsetting/clipping content.    
            </summary>
        </member>
        <member name="M:CPF.Controls.IScrollInfo.LineUp">
            <summary>
            Scroll content by one line to the top.
            </summary>
        </member>
        <member name="M:CPF.Controls.IScrollInfo.LineDown">
            <summary>
            Scroll content by one line to the bottom.
            </summary>
        </member>
        <member name="M:CPF.Controls.IScrollInfo.LineLeft">
            <summary>
            Scroll content by one line to the left.
            </summary>
        </member>
        <member name="M:CPF.Controls.IScrollInfo.LineRight">
            <summary>
            Scroll content by one line to the right.
            </summary>
        </member>
        <member name="M:CPF.Controls.IScrollInfo.PageUp">
            <summary>
            Scroll content by one page to the top.
            </summary>
        </member>
        <member name="M:CPF.Controls.IScrollInfo.PageDown">
            <summary>
            Scroll content by one page to the bottom.
            </summary>
        </member>
        <member name="M:CPF.Controls.IScrollInfo.PageLeft">
            <summary>
            Scroll content by one page to the left.
            </summary>
        </member>
        <member name="M:CPF.Controls.IScrollInfo.PageRight">
            <summary>
            Scroll content by one page to the right.
            </summary>
        </member>
        <member name="M:CPF.Controls.IScrollInfo.MouseWheelUp">
            <summary>
            Scroll content by one page to the top.
            </summary>
        </member>
        <member name="M:CPF.Controls.IScrollInfo.MouseWheelDown">
            <summary>
            Scroll content by one page to the bottom.
            </summary>
        </member>
        <member name="M:CPF.Controls.IScrollInfo.MouseWheelLeft">
            <summary>
            Scroll content by one page to the left.
            </summary>
        </member>
        <member name="M:CPF.Controls.IScrollInfo.MouseWheelRight">
            <summary>
            Scroll content by one page to the right.
            </summary>
        </member>
        <member name="M:CPF.Controls.IScrollInfo.SetHorizontalOffset(System.Single)">
            <summary>
            Set the HorizontalOffset to the passed value.  
            An implementation may coerce this value into a valid range, typically inclusively between 0 and <see cref="P:CPF.Controls.IScrollInfo.ExtentWidth" /> less <see cref="P:CPF.Controls.IScrollInfo.ViewportWidth" />.
            </summary>
        </member>
        <member name="M:CPF.Controls.IScrollInfo.SetVerticalOffset(System.Single)">
            <summary>
            Set the VerticalOffset to the passed value.  
            An implementation may coerce this value into a valid range, typically inclusively between 0 and <see cref="P:CPF.Controls.IScrollInfo.ExtentHeight" /> less <see cref="P:CPF.Controls.IScrollInfo.ViewportHeight" />.
            </summary>
        </member>
        <member name="P:CPF.Controls.IScrollInfo.CanVerticallyScroll">
            <summary>
            This property indicates to the IScrollInfo whether or not it can scroll in the vertical given dimension.
            </summary>
        </member>
        <member name="P:CPF.Controls.IScrollInfo.CanHorizontallyScroll">
            <summary>
            This property indicates to the IScrollInfo whether or not it can scroll in the horizontal given dimension.
            </summary>
        </member>
        <member name="P:CPF.Controls.IScrollInfo.ExtentWidth">
            <summary>
            ExtentWidth contains the full horizontal range of the scrolled content.
            </summary>
        </member>
        <member name="P:CPF.Controls.IScrollInfo.ExtentHeight">
            <summary>
            ExtentHeight contains the full vertical range of the scrolled content.
            </summary>
        </member>
        <member name="P:CPF.Controls.IScrollInfo.ViewportWidth">
            <summary>
            ViewportWidth contains the currently visible horizontal range of the scrolled content.
            </summary>
        </member>
        <member name="P:CPF.Controls.IScrollInfo.ViewportHeight">
            <summary>
            ViewportHeight contains the currently visible vertical range of the scrolled content.
            </summary>
        </member>
        <member name="P:CPF.Controls.IScrollInfo.HorizontalOffset">
            <summary>
            HorizontalOffset is the horizontal offset into the scrolled content that represents the first unit visible.
            </summary>
        </member>
        <member name="P:CPF.Controls.IScrollInfo.VerticalOffset">
            <summary>
            VerticalOffset is the vertical offset into the scrolled content that represents the first unit visible.
            </summary>
        </member>
        <member name="P:CPF.Controls.IScrollInfo.ScrollOwner">
            <summary>
            ScrollOwner is the container that controls any scrollbars, headers, etc... that are dependant
            on this IScrollInfo's properties.  Implementers of IScrollInfo should call InvalidateScrollInfo()
            on this object when properties change.
            </summary>
        </member>
        <member name="E:CPF.Controls.IScrollInfo.ScrollChanged">
            <summary>
            滚动或者视口变化
            </summary>
        </member>
        <member name="P:CPF.Controls.ItemCollection.Events">
            <summary>
            事件列表，用于优化事件订阅内存
            </summary>
        </member>
        <member name="M:CPF.Controls.ItemCollection.IndexOf(System.Int32)">
            <summary>
            通过排序之后的索引或者源数据的索引
            </summary>
            <param name="sortedIndex"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.Controls.ItemCollection.Sort(System.Comparison{System.Object},System.String,System.Boolean)">
            <summary>
            排序
            </summary>
            <param name="comparison">比较器，如果设置了缓存属性，比较的参数就是属性值</param>
            <param name="propertyName">缓存的属性</param>
            <param name="descending">降序</param>
        </member>
        <member name="M:CPF.Controls.ItemCollection.IndexOf(System.Object)">
            <summary>
            未排序的索引
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.Controls.ItemCollection.Insert(System.Int32,System.Object)">
            <summary>
            排序之后index无效
            </summary>
            <param name="index"></param>
            <param name="value"></param>
        </member>
        <member name="P:CPF.Controls.ItemCollection.ItemSource">
            <summary>
            Items=...
            </summary>
        </member>
        <member name="T:CPF.Controls.ItemsControl`1">
            <summary>
            表示可用于呈现一组项的控件。
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="M:CPF.Controls.ItemsControl`1.CreateItemElement">
            <summary>
            创建模板的元素
            </summary>
            <returns></returns>
        </member>
        <member name="P:CPF.Controls.ItemsControl`1.Items">
            <summary>
            返回ItemCollection类型，可以直接将数据源设置过来
            </summary>
        </member>
        <member name="P:CPF.Controls.ItemsControl`1.ItemsPanel">
            <summary>
            定义布局容器，初始化或者附加到可视化树之前设置
            </summary>
        </member>
        <member name="P:CPF.Controls.ItemsControl`1.HasItems">
            <summary>
            获取一个值，该值指示 ItemsControl 是否包含项。
            </summary>
        </member>
        <member name="P:CPF.Controls.ItemsControl`1.DisplayMemberPath">
            <summary>
            显示的数据字段或属性
            </summary>
        </member>
        <member name="P:CPF.Controls.ItemsControl`1.ElementItems">
            <summary>
            获取作为Item的UIElement
            </summary>
        </member>
        <member name="M:CPF.Controls.ItemsControl`1.IsItemElement(System.Object)">
            <summary>
            判断是否是当前容器的特殊元素，比如TreeView中的TreeViewItem
            </summary>
            <param name="item"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.Controls.ItemsControl`1.IsInItem(CPF.UIElement)">
            <summary>
            判断该元素是否在Item里，如果是则返回item，否则为null。比如，可以在ListBox的MouseDown里判断点击到的Item，参数用事件里的OriginalSource
            </summary>
            <param name="element"></param>
            <returns></returns>
        </member>
        <member name="T:CPF.Controls.Label">
            <summary>
            表示控件的文本标签。
            </summary>
        </member>
        <member name="T:CPF.Controls.ListBox">
            <summary>
            包含可选项列表
            </summary>
        </member>
        <member name="P:CPF.Controls.ListBox.SelectionMode">
            <summary>
            选择行为，单选，多选方式
            </summary>
        </member>
        <member name="P:CPF.Controls.ListBox.IsVirtualizing">
            <summary>
            是否虚拟化UI，只支持StackPanel的虚拟化数据显示。初始化之前设置
            </summary>
        </member>
        <member name="P:CPF.Controls.ListBox.VirtualizationMode">
            <summary>
            虚拟模式下元素使用方式
            </summary>
        </member>
        <member name="T:CPF.Controls.ListBoxItem">
            <summary>
            表示 ListBox 中的可选项。
            </summary>
        </member>
        <member name="P:CPF.Controls.ListBoxItem.Index">
            <summary>
            索引ID
            </summary>
        </member>
        <member name="T:CPF.Controls.MenuItem">
            <summary>
            表示 Menu 内某个可选择的项。
            </summary>
        </member>
        <member name="P:CPF.Controls.MenuItem.Header">
            <summary>
            获取或设置标记控件的项
            </summary>
        </member>
        <member name="P:CPF.Controls.MenuItem.Icon">
            <summary>
            显示在 MenuItem 中的图标
            </summary>
        </member>
        <member name="P:CPF.Controls.MenuItem.IsCheckable">
            <summary>
            获取一个指示是否可选中 MenuItem 的值。
            </summary>
        </member>
        <member name="P:CPF.Controls.MenuItem.IsChecked">
            <summary>
            获取或设置一个指示是否选中 MenuItem 的值
            </summary>
        </member>
        <member name="P:CPF.Controls.MenuItem.HeaderTemplate">
            <summary>
            获取或设置用于显示控件标头的内容的模板。
            </summary>
        </member>
        <member name="P:CPF.Controls.MenuItem.IsOpen">
            <summary>
            获取或设置标记控件的项
            </summary>
        </member>
        <member name="P:CPF.Controls.MenuItem.OwnerContextMenu">
            <summary>
            所在的ContextMenu
            </summary>
        </member>
        <member name="M:CPF.Controls.MessageBox.Show(System.String,System.String,CPF.Controls.Window)">
            <summary>
            弹窗提示
            </summary>
            <param name="message"></param>
            <param name="title"></param>
            <param name="owner">如果为null，则使用主窗体</param>
        </member>
        <member name="T:CPF.Controls.MultiSelector`1">
            <summary>
            为允许选择多项的控件提供抽象类。
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="P:CPF.Controls.MultiSelector`1.SelectedItems">
            <summary>
            获取当前选定的项。
            </summary>
        </member>
        <member name="P:CPF.Controls.MultiSelector`1.SelectedIndexs">
            <summary>
            获取或者设置当前选定的项索引
            </summary>
        </member>
        <member name="P:CPF.Controls.MultiSelector`1.SelectedIndex">
            <summary>
            获取或者设置当前选定的项的第一个索引
            </summary>
        </member>
        <member name="P:CPF.Controls.MultiSelector`1.SelectedValuePath">
            <summary>
            获取或设置用于从 SelectedValue 获取 SelectedItem 的路径。
            </summary>
        </member>
        <member name="P:CPF.Controls.MultiSelector`1.SelectedValue">
            <summary>
            获取或设置通过使用 SelectedItem 而获取的 SelectedValuePath 的值。如果数据量大不建议用这个来设置，如果是多选的时候，类型是IEnumerable数据，可以遍历获取
            </summary>
        </member>
        <member name="E:CPF.Controls.MultiSelector`1.SelectionChanged">
            <summary>
            选择更改时发生
            </summary>
        </member>
        <member name="T:CPF.Controls.NativeElement">
            <summary>
            用于内嵌原生控件，一般来说原生控件无法使用渲染变换，无法调整ZIndex，只能在最前端，可能无法透明。一般尽可能少用该控件
            </summary>
        </member>
        <member name="M:CPF.Controls.NativeElement.#ctor">
            <summary>
            用于内嵌原生控件，一般来说原生控件无法使用渲染变换，无法调整ZIndex，只能在最前端，可能无法透明。一般尽可能少用该控件
            </summary>
        </member>
        <member name="P:CPF.Controls.NativeElement.Content">
            <summary>
            设置对应平台的控件句柄
            </summary>
        </member>
        <member name="P:CPF.Controls.NativeElement.BackColor">
            <summary>
            背景色，有些平台可能无法透明
            </summary>
        </member>
        <member name="T:CPF.Controls.NotifyIcon">
            <summary>
            指定可在通知区域创建图标的组件，只有Windows和一部分Linux才支持
            </summary>
        </member>
        <member name="M:CPF.Controls.NotifyIcon.#ctor">
            <summary>
            指定可在通知区域创建图标的组件，只有Windows和一部分Linux才支持
            </summary>
        </member>
        <member name="P:CPF.Controls.NotifyIcon.Text">
            <summary>
            鼠标移入显示的文字提示
            </summary>
        </member>
        <member name="P:CPF.Controls.NotifyIcon.Icon">
            <summary>
            显示的图标
            </summary>
        </member>
        <member name="P:CPF.Controls.NotifyIcon.ContextMenu">
            <summary>
            右键菜单
            </summary>
        </member>
        <member name="P:CPF.Controls.NotifyIcon.Visible">
            <summary>
            是否显示
            </summary>
        </member>
        <member name="T:CPF.Controls.NumericUpDown">
            <summary>
            表示显示数值的 Windows 数字显示框（也称作 up-down 控件）。
            </summary>
        </member>
        <member name="P:CPF.Controls.NumericUpDown.Increment">
            <summary>
            控制点击一次向上或者向下小按钮数字输入框值的增减大小
            </summary>
        </member>
        <member name="T:CPF.Controls.Panel">
            <summary>
            为所有 Panel 元素提供基类。 使用 Panel 元素放置和排列UIElement，对于Panel的继承者的子对象的如果尺寸超过Panel对齐方式是左上角而不是居中
            </summary>
        </member>
        <member name="P:CPF.Controls.Panel.Background">
            <summary>
            背景填充
            </summary>
        </member>
        <member name="P:CPF.Controls.Panel.FontFamily">
            <summary>
            Gets or sets the font family used to draw the control's text.
            </summary>
        </member>
        <member name="P:CPF.Controls.Panel.FontSize">
            <summary>
            Gets or sets the size of the control's text in points.
            </summary>
        </member>
        <member name="P:CPF.Controls.Panel.FontStyle">
            <summary>
            Gets or sets the font style used to draw the control's text.
            </summary>
        </member>
        <member name="P:CPF.Controls.Panel.TextDecoration">
            <summary>
            表示一个文本修饰，它是可添加到文本的视觉装饰（如下划线）。字符串格式： overline/Underline/Strikethrough [width[,Solid/Dash/Dot/DashDot/DashDotDot]] [color]
            </summary>
        </member>
        <member name="P:CPF.Controls.Panel.Foreground">
            <summary>
            Gets or sets the brush used to draw the control's text and other foreground elements.
            </summary>
        </member>
        <member name="P:CPF.Controls.Panel.BorderFill">
            <summary>
            边框线条填充
            </summary>
        </member>
        <member name="P:CPF.Controls.Panel.BorderStroke">
            <summary>
            获取或设置线条类型
            </summary>
        </member>
        <member name="P:CPF.Controls.Panel.BorderThickness">
            <summary>
            四周边框粗细
            </summary>
        </member>
        <member name="P:CPF.Controls.Panel.CornerRadius">
            <summary>
            获取或设置一个值，该值表示将 Border 的角倒圆的程度。
            </summary>
        </member>
        <member name="P:CPF.Controls.Panel.BorderType">
            <summary>
            边框类型
            </summary>
        </member>
        <member name="P:CPF.Controls.Panel.IsGroup">
            <summary>
            定义一个控件组，一般由多个元素组成，在设计器中，子元素和该控件为一个控件组，点击子元素拖动时，将作为整体拖动整个控件组。
            </summary>
        </member>
        <member name="P:CPF.Controls.Panel.Children">
            <summary>
            子元素
            </summary>
        </member>
        <member name="T:CPF.Controls.Picture">
            <summary>
            显示图像，支持路径、Url、Image、Bitmap、Stream、byte[]、支持GIF播放
            </summary>
        </member>
        <member name="M:CPF.Controls.Picture.#ctor">
            <summary>
            显示图像，支持路径、Url、Image、Bitmap、Stream、byte[]、支持GIF播放
            </summary>
        </member>
        <member name="P:CPF.Controls.Picture.Source">
            <summary>
            图片源，可以是路径、Url、Drawing.Image对象、Stream、byte[]
            </summary>
        </member>
        <member name="P:CPF.Controls.Picture.Stretch">
            <summary>
            图片缩放模式
            </summary>
        </member>
        <member name="P:CPF.Controls.Picture.StretchDirection">
            <summary>
            描述如何对内容应用缩放，并限制对已命名像素类型的缩放。
            </summary>
        </member>
        <member name="M:CPF.Controls.Picture.GetImage">
            <summary>
            获取加载成功了的图片
            </summary>
            <returns></returns>
        </member>
        <member name="M:CPF.Controls.Picture.ComputeScaleFactor(CPF.Drawing.Size,CPF.Drawing.Size,CPF.Controls.Stretch,CPF.Controls.StretchDirection)">
            <summary>
            This is a helper function that computes scale factors depending on a target size and a content size
            </summary>
            <param name="availableSize">Size into which the content is being fitted.</param>
            <param name="contentSize">Size of the content, measured natively (unconstrained).</param>
            <param name="stretch">Value of the Stretch property on the element.</param>
            <param name="stretchDirection">Value of the StretchDirection property on the element.</param>
        </member>
        <member name="E:CPF.Controls.Picture.ImageFailed">
            <summary>
            图片加载失败
            </summary>
        </member>
        <member name="F:CPF.Controls.Stretch.None">
            <summary>
            内容保持其原始大小。
            </summary>
        </member>
        <member name="F:CPF.Controls.Stretch.Fill">
            <summary>
            调整内容大小以填充目标尺寸。 不保留纵横比。
            </summary>
        </member>
        <member name="F:CPF.Controls.Stretch.Uniform">
            <summary>
            在保留内容原有纵横比的同时调整内容的大小，以适合目标尺寸。
            </summary>
        </member>
        <member name="F:CPF.Controls.Stretch.UniformToFill">
            <summary>
            在保留内容原有纵横比的同时调整内容的大小，以填充目标尺寸。 如果目标矩形的纵横比不同于源矩形的纵横比，则对源内容进行剪裁以适合目标尺寸。
            </summary>
        </member>
        <member name="F:CPF.Controls.StretchDirection.UpOnly">
            <summary>
            内容仅在小于父级时扩展。 如果内容较大，则不执行缩放。
            </summary>
        </member>
        <member name="F:CPF.Controls.StretchDirection.DownOnly">
            <summary>
            内容仅在大于父级时缩放。 如果内容较小，则不会执行任何扩展。
            </summary>
        </member>
        <member name="F:CPF.Controls.StretchDirection.Both">
            <summary>
            内容根据 Stretch 模式进行拉伸以适合父项的大小。
            </summary>
        </member>
        <member name="T:CPF.Controls.Popup">
            <summary>
            弹窗
            </summary>
        </member>
        <member name="M:CPF.Controls.Popup.#ctor">
            <summary>
            弹窗
            </summary>
        </member>
        <member name="P:CPF.Controls.Popup.PlacementTarget">
            <summary>
            获取或设置当打开 Popup 控件时该控件相对于其放置的元素。
            </summary>
        </member>
        <member name="P:CPF.Controls.Popup.StaysOpen">
            <summary>
            获取或设置一个值，该值指示当 Popup 控件焦点不再对准时，是否关闭该控件。
            </summary>
        </member>
        <member name="P:CPF.Controls.Popup.Placement">
            <summary>
            获取或设置 Popup 控件打开时的控件方向，并指定 Popup 控件在与屏幕边界重叠时的控件行为
            </summary>
        </member>
        <member name="F:CPF.Controls.PlacementMode.Absolute">
            <summary>
            Popup 控件的位置，该位置相对于屏幕的左上角，且在由 Margin 的属性值定义的偏移量处。
            </summary>
        </member>
        <member name="F:CPF.Controls.PlacementMode.Mouse">
            <summary>
            Popup 控件的位置，即控件边缘与鼠标边缘对齐。 如果屏幕边缘遮盖 Popup，则控件会重新定位自身，使其与屏幕上边缘对齐。百分比参考自身尺寸
            </summary>
        </member>
        <member name="F:CPF.Controls.PlacementMode.Margin">
            <summary>
            相对PlacementTarget元素外边距，需要设置相邻的两个Margin值，百分比参考自身尺寸。如果屏幕边缘遮盖 Popup，则控件会重新定位自身，使其与屏幕上边缘对齐。
            </summary>
        </member>
        <member name="F:CPF.Controls.PlacementMode.Padding">
            <summary>
            相对PlacementTarget元素内边距，需要设置相邻的两个Margin值，百分比参考PlacementTarget尺寸。如果屏幕边缘遮盖 Popup，则控件会重新定位自身，使其与屏幕上边缘对齐。
            </summary>
        </member>
        <member name="T:CPF.Controls.ProgressBar">
            <summary>
            指示操作进度。
            </summary>
        </member>
        <member name="P:CPF.Controls.ProgressBar.IsIndeterminate">
            <summary>
            获取或设置 ProgressBar 是显示实际值，还是显示一般的连续进度反馈。
            </summary>
        </member>
        <member name="T:CPF.Controls.RadioButton">
            <summary>
            表示可由用户选择但不能清除的按钮。 可以通过单击来设置 IsChecked 的 RadioButton 属性，但只能以编程方式清除该属性。
            </summary>
        </member>
        <member name="P:CPF.Controls.RadioButton.GroupName">
            <summary>
            通过该属性对RadioButton分组，通过Root.GetRadioButtonValue()获取分组的选中值
            </summary>
        </member>
        <member name="T:CPF.Controls.RangeBase">
            <summary>
            表示具有特定范围内的值的元素。
            </summary>
        </member>
        <member name="T:CPF.Controls.RepeatButton">
            <summary>
            表示从按下按钮到释放按钮的时间内重复引发其 Click 事件的控件。
            </summary>
        </member>
        <member name="P:CPF.Controls.RepeatButton.Delay">
            <summary>
            延迟操作
            </summary>
        </member>
        <member name="P:CPF.Controls.RepeatButton.Interval">
            <summary>
                Specifies the amount of time, in milliseconds, between repeats once repeating starts.
            Must be non-negative
            </summary>
        </member>
        <member name="M:CPF.Controls.RepeatButton.StartTimer">
            <summary>
            Starts a _timer ticking
            </summary>
        </member>
        <member name="M:CPF.Controls.RepeatButton.StopTimer">
            <summary>
            Stops a _timer that has already started
            </summary>
        </member>
        <member name="M:CPF.Controls.RepeatButton.OnTimeout(System.Object,System.EventArgs)">
            <summary>
            This is the handler for when the repeat _timer expires. All we do
            is invoke a click.
            </summary>
            <param name="sender">Sender of the event</param>
            <param name="e">Event arguments</param>
        </member>
        <member name="M:CPF.Controls.RepeatButton.OnMouseEnter(CPF.Input.MouseEventArgs)">
            <summary>
                An event reporting the mouse entered this element.
            </summary>
            <param name="e">Event arguments</param>
        </member>
        <member name="M:CPF.Controls.RepeatButton.OnMouseLeave(CPF.Input.MouseEventArgs)">
            <summary>
                An event reporting the mouse left this element.
            </summary>
            <param name="e">Event arguments</param>
        </member>
        <member name="M:CPF.Controls.RepeatButton.HandleIsMouseOverChanged">
            <summary>
                An event reporting that the IsMouseOver property changed.
            </summary>
        </member>
        <member name="M:CPF.Controls.RepeatButton.OnKeyDown(CPF.Input.KeyEventArgs)">
            <summary>
            This is the method that responds to the KeyDown event.
            </summary>
            <param name="e"></param>
        </member>
        <member name="M:CPF.Controls.RepeatButton.OnKeyUp(CPF.Input.KeyEventArgs)">
            <summary>
            This is the method that responds to the KeyUp event.
            </summary>
            <param name="e"></param>
        </member>
        <member name="T:CPF.Controls.RowDefinition">
            <summary>
            定义Grid的行
            </summary>
        </member>
        <member name="P:CPF.Controls.RowDefinition.Height">
            <summary>
            权重*或者数值
            </summary>
        </member>
        <member name="T:CPF.Controls.ScrollBar">
            <summary>
            滚动条
            </summary>
        </member>
        <member name="P:CPF.Controls.ScrollBar.Orientation">
            <summary>
            滚动条方向
            </summary>
        </member>
        <member name="M:CPF.Controls.ScrollBar.#ctor">
            <summary>
            滚动条
            </summary>
        </member>
        <member name="P:CPF.Controls.ScrollBar.ViewportSize">
            <summary>
            视图大小，用来计算Thumb占用比例
            </summary>
        </member>
        <member name="F:CPF.Controls.ScrollBar.DecreaseLargeChanged">
            <summary>
            减
            </summary>
        </member>
        <member name="F:CPF.Controls.ScrollBar.IncreaseLargeChanged">
            <summary>
            加
            </summary>
        </member>
        <member name="F:CPF.Controls.ScrollBar.DecreaseSmallChange">
            <summary>
            减
            </summary>
        </member>
        <member name="F:CPF.Controls.ScrollBar.IncreaseSmallChange">
            <summary>
            加
            </summary>
        </member>
        <member name="F:CPF.Controls.Orientation.Horizontal">
            <summary>
            Control/Layout should be horizontally oriented.
            </summary>
        </member>
        <member name="F:CPF.Controls.Orientation.Vertical">
            <summary>
            Control/Layout should be vertically oriented.
            </summary>
        </member>
        <member name="T:CPF.Controls.ScrollContentPresenter">
            <summary>
            显示 ScrollViewer 控件的内容。
            </summary>
        </member>
        <member name="P:CPF.Controls.ScrollContentPresenter.Child">
            <summary>
            获取或设置 单一子元素。
            </summary>
        </member>
        <member name="T:CPF.Controls.ScrollViewer">
            <summary>
            表示可包含其他可视元素的可滚动区域。
            </summary>
        </member>
        <member name="P:CPF.Controls.ScrollViewer.HorizontalScrollBarVisibility">
            <summary>
            获取或设置一个值，该值指示是否应显示水平 ScrollBar。
            </summary>
        </member>
        <member name="P:CPF.Controls.ScrollViewer.VerticalScrollBarVisibility">
            <summary>
            获取或设置一个值，该值指示是否应显示垂直 ScrollBar。
            </summary>
        </member>
        <member name="P:CPF.Controls.ScrollViewer.ComputedHorizontalScrollBarVisibility">
            <summary>
            水平 ScrollBar 是否可见。
            </summary>
        </member>
        <member name="P:CPF.Controls.ScrollViewer.ComputedVerticalScrollBarVisibility">
            <summary>
             垂直 ScrollBar 是否可见。
            </summary>
        </member>
        <member name="P:CPF.Controls.ScrollViewer.ExtentHeight">
            <summary>
            获取包含盘区垂直大小的值
            </summary>
        </member>
        <member name="P:CPF.Controls.ScrollViewer.ExtentWidth">
            <summary>
            获取包含盘区水平大小的值
            </summary>
        </member>
        <member name="P:CPF.Controls.ScrollViewer.ViewportWidth">
            <summary>
            ViewportWidth contains the horizontal size of the scrolling viewport.
            </summary>
            <remarks>
            ExtentWidth is only an output property; it can effectively be set by specifying
            Width on this element.
            </remarks>
        </member>
        <member name="P:CPF.Controls.ScrollViewer.ViewportHeight">
            <summary>
            ViewportHeight contains the vertical size of the scrolling viewport.
            </summary>
            <remarks>
            ViewportHeight is only an output property; it can effectively be set by specifying
            Height on this element.
            </remarks>
        </member>
        <member name="M:CPF.Controls.ScrollViewer.LineUp">
            <summary>
            Scroll content by one line to the top.
            </summary>
        </member>
        <member name="M:CPF.Controls.ScrollViewer.LineDown">
            <summary>
            Scroll content by one line to the bottom.
            </summary>
        </member>
        <member name="M:CPF.Controls.ScrollViewer.LineLeft">
            <summary>
            Scroll content by one line to the left.
            </summary>
        </member>
        <member name="M:CPF.Controls.ScrollViewer.LineRight">
            <summary>
            Scroll content by one line to the right.
            </summary>
        </member>
        <member name="M:CPF.Controls.ScrollViewer.PageUp">
            <summary>
            Scroll content by one page to the top.
            </summary>
        </member>
        <member name="M:CPF.Controls.ScrollViewer.PageDown">
            <summary>
            Scroll content by one page to the bottom.
            </summary>
        </member>
        <member name="M:CPF.Controls.ScrollViewer.PageLeft">
            <summary>
            Scroll content by one page to the left.
            </summary>
        </member>
        <member name="M:CPF.Controls.ScrollViewer.PageRight">
            <summary>
            Scroll content by one page to the right.
            </summary>
        </member>
        <member name="F:CPF.Controls.ScrollBarVisibility.Disabled">
            <summary>
            No scrollbars and no scrolling in this dimension.
            </summary>
        </member>
        <member name="F:CPF.Controls.ScrollBarVisibility.Auto">
            <summary>
            The scrollbar should be visible only if there is more content than fits in the viewport.
            </summary>
        </member>
        <member name="F:CPF.Controls.ScrollBarVisibility.Hidden">
            <summary>
            The scrollbar should never be visible.  No space should ever be reserved for the scrollbar.
            </summary>
        </member>
        <member name="F:CPF.Controls.ScrollBarVisibility.Visible">
            <summary>
            The scrollbar should always be visible.  Space should always be reserved for the scrollbar.
            </summary>
        </member>
        <member name="F:CPF.Controls.SelectionMode.Extended">
            <summary>
            用户可以按下 Shift 键来选择多个连续项。
            </summary>
        </member>
        <member name="F:CPF.Controls.SelectionMode.Multiple">
            <summary>
            用户可以选择多个项而无需按下修改键。
            </summary>
        </member>
        <member name="F:CPF.Controls.SelectionMode.Single">
            <summary>
            用户一次只能选择一项。
            </summary>
        </member>
        <member name="T:CPF.Controls.DataGridSelectionMode">
            <summary>
            定义指定 DataGrid 控件支持单项选择还是多项选择的常数
            </summary>
        </member>
        <member name="T:CPF.Controls.DataGridSelectionUnit">
            <summary>
            定义指定单元格、 行或两者，是否用于 DataGrid 空间中的选择的常数。
            </summary>
        </member>
        <member name="T:CPF.Controls.Separator">
            <summary>
            分割线
            </summary>
        </member>
        <member name="M:CPF.Controls.Separator.#ctor">
            <summary>
            分割线
            </summary>
        </member>
        <member name="T:CPF.Controls.Slider">
            <summary>
            表示一个控件，该控件可让用户通过沿 Thumb 移动 Track 控件从一个值范围中进行选择。
            </summary>
        </member>
        <member name="F:CPF.Controls.Slider.DecreaseLargeChanged">
            <summary>
            减
            </summary>
        </member>
        <member name="F:CPF.Controls.Slider.IncreaseLargeChanged">
            <summary>
            加
            </summary>
        </member>
        <member name="F:CPF.Controls.Slider.DecreaseSmallChange">
            <summary>
            减
            </summary>
        </member>
        <member name="F:CPF.Controls.Slider.IncreaseSmallChange">
            <summary>
            加
            </summary>
        </member>
        <member name="P:CPF.Controls.Slider.TickPlacement">
            <summary>
            获取或设置与 Track 的 Slider 相关的刻度线的位置。
            </summary>
        </member>
        <member name="P:CPF.Controls.Slider.IsDirectionReversed">
            <summary>
            如果增加值的方向向左（对于水平滑块）或向下（对于垂直滑块），则为 true；否则为 false。 默认值为 false。
            </summary>
        </member>
        <member name="P:CPF.Controls.Slider.Delay">
            <summary>
            获取或设置在按下 RepeatButton 之后等待执行用于移动 Thumb 的命令（如 DecreaseLarge 命令）的时间（以毫秒为单位）。
            </summary>
        </member>
        <member name="P:CPF.Controls.Slider.Interval">
            <summary>
            获取或设置当用户单击 RepeatButton 的 Slider 时增加或减少命令之间的时间量（以毫秒为单位）
            </summary>
        </member>
        <member name="P:CPF.Controls.Slider.IsSnapToTickEnabled">
            <summary>
            获取或设置一个值，该值指示 Slider 是否自动将 Thumb 移动到最近的刻度线
            </summary>
        </member>
        <member name="P:CPF.Controls.Slider.TickFrequency">
            <summary>
            刻度线之间的距离。 默认值为 (1.0)。
            </summary>
        </member>
        <member name="P:CPF.Controls.Slider.IsMoveToPointEnabled">
            <summary>
            获取或设置一个值，该值指示是否立即将 Slider 的 Thumb 移动到在鼠标指针悬停在 Slider 轨道的上方时鼠标单击的位置。
            </summary>
        </member>
        <member name="P:CPF.Controls.Slider.Track">
            <summary>
            Gets or sets reference to Slider's Track element.
            </summary>
        </member>
        <member name="M:CPF.Controls.Slider.OnThumbDragDelta(System.Object,CPF.Controls.DragDeltaEventArgs)">
            <summary>
            Called when user dragging the Thumb.
            This function can be override to customize the way Slider handles Thumb movement.
            </summary>
            <param name="e"></param>
        </member>
        <member name="M:CPF.Controls.Slider.UpdateValue(System.Single)">
            <summary>
            Helper function for value update.
            This function will also snap the value to tick, if IsSnapToTickEnabled is true.
            </summary>
            <param name="value"></param>
        </member>
        <member name="M:CPF.Controls.Slider.SnapToTick(System.Single)">
            <summary>
            Snap the input 'value' to the closest tick.
            If input value is exactly in the middle of 2 surrounding ticks, it will be snapped to the tick that has greater value.
            </summary>
            <param name="value">Value that want to snap to closest Tick.</param>
            <returns>Snapped value if IsSnapToTickEnabled is 'true'. Otherwise, returns un-snaped value.</returns>
        </member>
        <member name="M:CPF.Controls.Slider.ArrangeOverride(CPF.Drawing.Size@)">
            <summary>
            Perform arrangement of slider's children
            </summary>
            <param name="finalSize"></param>
        </member>
        <member name="M:CPF.Controls.Slider.UpdateSelectionRangeElementPositionAndSize">
            <summary>
            Resize and resposition the SelectionRangeElement.
            </summary>
        </member>
        <member name="T:CPF.Controls.TickPlacement">
            <summary>
            Placement options for Slider's Tickbar
            </summary>
        </member>
        <member name="F:CPF.Controls.TickPlacement.None">
            <summary>
            No TickMark
            </summary>
        </member>
        <member name="F:CPF.Controls.TickPlacement.TopLeft">
            <summary>
            Show TickMark above the Track (for HorizontalSlider), or left of the Track (for VerticalSlider)
            </summary>
        </member>
        <member name="F:CPF.Controls.TickPlacement.BottomRight">
            <summary>
            Show TickMark below the Track (for HorizontalSlider), or right of the Track (for VerticalSlider)
            </summary>
        </member>
        <member name="F:CPF.Controls.TickPlacement.Both">
            <summary>
            Show TickMark on both side of the Track
            </summary>
        </member>
        <member name="T:CPF.Controls.StackPanel">
            <summary>
            将子元素排列成水平或垂直的一行
            </summary>
        </member>
        <member name="P:CPF.Controls.StackPanel.Orientation">
            <summary>
            布局方向
            </summary>
        </member>
        <member name="T:CPF.Controls.Switch">
            <summary>
            左右切换的按钮
            </summary>
        </member>
        <member name="P:CPF.Controls.Switch.OnColor">
            <summary>
            打开时候显示的背景色
            </summary>
        </member>
        <member name="P:CPF.Controls.Switch.OffColor">
            <summary>
            关闭时候显示的背景色
            </summary>
        </member>
        <member name="P:CPF.Controls.FileSystemDialog.Directory">
            <summary>
            默认路径
            </summary>
        </member>
        <member name="T:CPF.Controls.SaveFileDialog">
            <summary>
            保存文件对话框
            </summary>
        </member>
        <member name="T:CPF.Controls.OpenFileDialog">
            <summary>
            打开文件对话框
            </summary>
        </member>
        <member name="P:CPF.Controls.OpenFileDialog.AllowMultiple">
            <summary>
            多选
            </summary>
        </member>
        <member name="T:CPF.Controls.OpenFolderDialog">
            <summary>
            打开目录对话框
            </summary>
        </member>
        <member name="M:CPF.Controls.OpenFolderDialog.ShowAsync(CPF.Controls.Window)">
            <summary>
            如果按取消按钮是返回空字符串
            </summary>
            <param name="parent"></param>
            <returns></returns>
        </member>
        <member name="P:CPF.Controls.FileDialogFilter.Extensions">
             <summary>
            png,jpg
             </summary>
        </member>
        <member name="T:CPF.Controls.TabControl">
            <summary>
            表示包含多个项的控件，这些项共享屏幕上的同一空间。
            </summary>
        </member>
        <member name="P:CPF.Controls.TabControl.SelectedIndex">
            <summary>
            获取或设置当前选择中第一项的索引，如果选择为空，则返回负一(-1)
            </summary>
        </member>
        <member name="P:CPF.Controls.TabControl.SelectedItem">
            <summary>
            获取，如果选择为空，则返回 null
            </summary>
        </member>
        <member name="P:CPF.Controls.TabControl.TabStripPlacement">
            <summary>
            选项卡标题相对于选项卡内容的对齐方式
            </summary>
        </member>
        <member name="P:CPF.Controls.TabControl.Items">
            <summary>
            TabItem内容集合
            </summary>
        </member>
        <member name="P:CPF.Controls.TabControl.SwitchAction">
            <summary>
            切换选项卡动作, TabItem oldItem, TabItem newItem
            </summary>
        </member>
        <member name="M:CPF.Controls.TabControl.OnSwitch(CPF.Controls.TabItem,CPF.Controls.TabItem)">
            <summary>
            切换选项卡动作
            </summary>
            <param name="oldItem"></param>
            <param name="newItem"></param>
        </member>
        <member name="T:CPF.Controls.TabItem">
            <summary>
            表示 TabControl 内某个可选择的项
            </summary>
        </member>
        <member name="P:CPF.Controls.TabItem.IsSelected">
            <summary>
            获取，该值指示是否选择 TabItem。
            </summary>
        </member>
        <member name="P:CPF.Controls.TabItem.Header">
            <summary>
            获取或设置每个控件的标题所用的数据。
            </summary>
        </member>
        <member name="P:CPF.Controls.TabItem.HeaderTemplate">
            <summary>
            获取或设置用于显示控件标头的内容的模板。
            </summary>
        </member>
        <member name="P:CPF.Controls.TabItem.ContentElement">
            <summary>
            内容的UI元素对象
            </summary>
        </member>
        <member name="T:CPF.Controls.TextBlock">
            <summary>
            文本显示
            </summary>
        </member>
        <member name="P:CPF.Controls.TextBlock.TextAlignment">
            <summary>
            文本对齐方式
            </summary>
        </member>
        <member name="P:CPF.Controls.TextBlock.Background">
            <summary>
            背景填充
            </summary>
        </member>
        <member name="P:CPF.Controls.TextBlock.FontFamily">
            <summary>
            字体名称
            </summary>
        </member>
        <member name="P:CPF.Controls.TextBlock.FontSize">
            <summary>
            字体尺寸
            </summary>
        </member>
        <member name="P:CPF.Controls.TextBlock.FontStyle">
            <summary>
            字体样式
            </summary>
        </member>
        <member name="P:CPF.Controls.TextBlock.Foreground">
            <summary>
            前景色
            </summary>
        </member>
        <member name="P:CPF.Controls.TextBlock.TextStrokeFill">
            <summary>
            文字描边
            </summary>
        </member>
        <member name="P:CPF.Controls.TextBlock.TextStroke">
            <summary>
            文字描边
            </summary>
        </member>
        <member name="P:CPF.Controls.TextBlock.TextTrimming">
            <summary>
            文本裁剪
            </summary>
        </member>
        <member name="P:CPF.Controls.TextBlock.VerticalAlignment">
            <summary>
            文本在垂直方向的对齐方式
            </summary>
        </member>
        <member name="P:CPF.Controls.TextBlock.TextDecoration">
            <summary>
            表示一个文本修饰，它是可添加到文本的视觉装饰（如下划线）。字符串格式： overline/Underline/Strikethrough/none [width[,Solid/Dash/Dot/DashDot/DashDotDot]] [color]
            </summary>
        </member>
        <member name="P:CPF.Controls.TextBlock.TextSize">
            <summary>
            布局后的文本尺寸
            </summary>
        </member>
        <member name="T:CPF.Controls.VerticalAlignment">
            <summary>
            描述内容在垂直反向的对齐方式
            </summary>
        </member>
        <member name="T:CPF.Controls.TextBox">
            <summary>
            表示一个控件，该控件可用于显示或编辑无格式文本。
            </summary>
        </member>
        <member name="P:CPF.Controls.TextBox.TextAlignment">
            <summary>
            文本对齐方式
            </summary>
        </member>
        <member name="P:CPF.Controls.TextBox.AcceptsReturn">
            <summary>
            获取或设置一个值，该值指示在用户按 ENTER 键时文本编辑控件如何响应。如果按 Enter 键会在当前光标位置插入一个新行，则为 true；否则将忽略 Enter 键
            </summary>
        </member>
        <member name="P:CPF.Controls.TextBox.AcceptsTab">
            <summary>
            如果按 Tab 键会在当前光标位置插入一个制表符，则为 true；如果按 Tab 键会将焦点移动到标记为制表位的下一个控件且不插入制表符，则为 false
            </summary>
        </member>
        <member name="P:CPF.Controls.TextBox.CaretFill">
            <summary>
            获取或设置用于绘制文本框的插入符号的画笔
            </summary>
        </member>
        <member name="P:CPF.Controls.TextBox.SelectionFill">
            <summary>
            获取或设置会突出显示选定文本的画笔。
            </summary>
        </member>
        <member name="P:CPF.Controls.TextBox.SelectionTextFill">
            <summary>
            获取或设置一个值，此值定义用于所选文本的画笔。
            </summary>
        </member>
        <member name="P:CPF.Controls.TextBox.HScrollBarVisibility">
            <summary>
            获取或设置一个值，该值指示是否应显示水平 ScrollBar。
            </summary>
        </member>
        <member name="P:CPF.Controls.TextBox.VScrollBarVisibility">
            <summary>
            获取或设置一个值，该值指示是否应显示垂直 ScrollBar。
            </summary>
        </member>
        <member name="P:CPF.Controls.TextBox.MaxLength">
            <summary>
            最大长度，为0的时候不限
            </summary>
        </member>
        <member name="P:CPF.Controls.TextBox.SelectionEnd">
            <summary>
            选中的结束位置
            </summary>
        </member>
        <member name="P:CPF.Controls.TextBox.CaretIndex">
            <summary>
            光标位置，或者选中的开始位置
            </summary>
        </member>
        <member name="P:CPF.Controls.TextBox.IsReadOnly">
            <summary>
            获取或设置一个值，该值指示文本编辑控件对于与该控件交互的用户是否是只读的
            </summary>
        </member>
        <member name="P:CPF.Controls.TextBox.IsUndoEnabled">
            <summary>
            获取或设置一个值，该值指示文本编辑控件是否支持撤消功能
            </summary>
        </member>
        <member name="P:CPF.Controls.TextBox.UndoLimit">
            <summary>
            获取或设置存储在撤消队列中的操作的数目。 默认值为-1, 表示撤消队列限制为可用的内存。
            </summary>
        </member>
        <member name="P:CPF.Controls.TextBox.IsAllowPasteImage">
            <summary>
            是否允许粘贴图片
            </summary>
        </member>
        <member name="P:CPF.Controls.TextBox.Text">
            <summary>
            文本内容
            </summary>
        </member>
        <member name="P:CPF.Controls.TextBox.IsInputMethodEnabled">
            <summary>
            是否启用输入法，主要描述的是中文这类输入法
            </summary>
        </member>
        <member name="P:CPF.Controls.TextBox.WordWarp">
            <summary>
            自动换行
            </summary>
        </member>
        <member name="P:CPF.Controls.TextBox.KeywordsStyles">
            <summary>
            关键词样式集合
            </summary>
        </member>
        <member name="P:CPF.Controls.TextBox.Styles">
            <summary>
            样式
            </summary>
        </member>
        <member name="E:CPF.Controls.TextBox.TextChanged">
            <summary>
            在文本元素中的内容改变时发生.
            </summary>
        </member>
        <member name="M:CPF.Controls.TextBox.AppentText(System.String)">
            <summary>
            末尾加一段文字
            </summary>
            <param name="text"></param>
        </member>
        <member name="M:CPF.Controls.TextBox.InsertText(System.String,System.Int32,System.Int16)">
            <summary>
            插入文字，index小于0则是末尾加
            </summary>
            <param name="text"></param>
            <param name="index"></param>
            <param name="styleId"></param>
        </member>
        <member name="M:CPF.Controls.TextBox.InsertImage(System.Object,System.Int32)">
            <summary>
            插入图片，index小于0则是末尾加
            </summary>
            <param name="img"></param>
            <param name="index"></param>
        </member>
        <member name="P:CPF.Controls.TextBox.TextBoxView">
            <summary>
            内部TextBoxView
            </summary>
        </member>
        <member name="M:CPF.Controls.TextBox.HitTestElement(CPF.Drawing.Point,System.Collections.Generic.IList{System.UInt32})">
            <summary>
            根据鼠标位置计算索引位置
            </summary>
            <param name="mosPos"></param>
            <param name="index">返回结果</param>
        </member>
        <member name="M:CPF.Controls.TextBox.HitTestElement(CPF.Drawing.Point)">
            <summary>
            根据鼠标位置计算点击到的元素
            </summary>
            <param name="mosPos"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.Controls.TextBox.ScrollToEnd">
            <summary>
            滚动到最底下
            </summary>
        </member>
        <member name="M:CPF.Controls.TextBox.IsCombiningCategory(System.Globalization.UnicodeCategory)">
            <summary>
            是否是多字节字符
            </summary>
            <param name="uc"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.Controls.TextBox.IsAsianCharecter(System.Char)">
            <summary>
            Check if the given char is of Asian range.检查出的字符是亚洲范围。
            </summary>
            <param name="ch">the character to check</param>
            <returns>true - Asian char, false - otherwise</returns>
        </member>
        <member name="M:CPF.Controls.TextBox.IsDigit(System.Char,System.Boolean)">
            <summary>
            Check if the given char is a digit character (0-9) and (0-9, a-f for HEX)
            </summary>
            <param name="ch">the character to check</param>
            <param name="hex">optional: is hex digit check</param>
            <returns>true - is digit, false - not a digit</returns>
        </member>
        <member name="M:CPF.Controls.TextBox.IsLetter(System.Char)">
            <summary>
            判断字符是否为字母
            </summary>
            <param name="ch"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.Controls.TextBox.ToDigit(System.Char,System.Boolean)">
            <summary>
            Convert the given char to digit.
            </summary>
            <param name="ch">the character to check</param>
            <param name="hex">optional: is hex digit check</param>
            <returns>true - is digit, false - not a digit</returns>
        </member>
        <member name="T:CPF.Controls.KeywordsStyle">
            <summary>
            关键词样式
            </summary>
        </member>
        <member name="P:CPF.Controls.KeywordsStyle.Keywords">
            <summary>
            关键词或者正则表达式
            </summary>
        </member>
        <member name="P:CPF.Controls.KeywordsStyle.IsRegex">
            <summary>
            是否为正则表达式
            </summary>
        </member>
        <member name="P:CPF.Controls.KeywordsStyle.IgnoreCase">
            <summary>
            是否忽略大小写
            </summary>
        </member>
        <member name="P:CPF.Controls.KeywordsStyle.StyleId">
            <summary>
            样式ID
            </summary>
        </member>
        <member name="T:CPF.Controls.TextBoxView">
            <summary>
            TextBox内部容器
            </summary>
        </member>
        <member name="M:CPF.Controls.TextBoxView.GetPostion(System.Collections.Generic.IList{System.UInt32},System.Single@)">
            <summary>
            获取索引处坐标
            </summary>
            <param name="index"></param>
            <param name="height"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.Controls.TextBoxView.Comparer(System.Collections.Generic.IList{System.UInt32},System.Collections.Generic.IList{System.UInt32})">
            <summary>
            对比，大于0，第一个参数在第二个参数后面
            </summary>
            <param name="index1"></param>
            <param name="index2"></param>
            <returns></returns>
        </member>
        <member name="T:CPF.Controls.Thumb">
            <summary>
            表示可由用户拖动的控件
            </summary>
        </member>
        <member name="M:CPF.Controls.Thumb.#ctor">
            <summary>
            表示可由用户拖动的控件
            </summary>
        </member>
        <member name="P:CPF.Controls.Thumb.IsDragging">
            <summary>
            是否在拖拽中
            </summary>
        </member>
        <member name="M:CPF.Controls.Thumb.CancelDrag">
            <summary>
                This method cancels the dragging operation.
            </summary>
        </member>
        <member name="F:CPF.Controls.Thumb._originThumbPoint">
            <summary>
            The point where the mouse was clicked down (Thumb's co-ordinate).
            </summary>
        </member>
        <member name="F:CPF.Controls.Thumb._originScreenCoordPosition">
            <summary>
            The position of the mouse (screen co-ordinate) where the mouse was clicked down.
            </summary>
        </member>
        <member name="F:CPF.Controls.Thumb._previousScreenCoordPosition">
            <summary>
            The position of the mouse (screen co-ordinate) when the previous DragDelta event was fired
            </summary>
        </member>
        <member name="E:CPF.Controls.Thumb.DragStarted">
            <summary>
            Add / Remove DragStartedEvent handler
            </summary>
        </member>
        <member name="E:CPF.Controls.Thumb.DragDelta">
            <summary>
            Add / Remove DragDeltaEvent handler
            </summary>
        </member>
        <member name="E:CPF.Controls.Thumb.DragCompleted">
            <summary>
            Add / Remove DragCompletedEvent handler
            </summary>
        </member>
        <member name="M:CPF.Controls.DragStartedEventArgs.#ctor(System.Single,System.Single)">
            <summary>
            This is an instance constructor for the DragStartedEventArgs class.  It
            is constructed with a reference to the event being raised.
            </summary>
            <returns>Nothing.</returns>
        </member>
        <member name="P:CPF.Controls.DragStartedEventArgs.HorizontalOffset">
            <value>
            Read-only access to the horizontal offset (relative to Thumb's co-ordinate).
            </value>
        </member>
        <member name="P:CPF.Controls.DragStartedEventArgs.VerticalOffset">
            <value>
            Read-only access to the vertical offset (relative to Thumb's co-ordinate).
            </value>
        </member>
        <member name="M:CPF.Controls.DragDeltaEventArgs.#ctor(System.Single,System.Single)">
            <summary>
            This is an instance constructor for the DragDeltaEventArgs class.  It
            is constructed with a reference to the event being raised.
            </summary>
            <returns>Nothing.</returns>
        </member>
        <member name="P:CPF.Controls.DragDeltaEventArgs.HorizontalChange">
            <value>
            Read-only access to the horizontal change.
            </value>
        </member>
        <member name="P:CPF.Controls.DragDeltaEventArgs.VerticalChange">
            <value>
            Read-only access to the vertical change.
            </value>
        </member>
        <member name="M:CPF.Controls.DragCompletedEventArgs.#ctor(System.Single,System.Single,System.Boolean)">
            <summary>
            This is an instance constructor for the DragCompletedEventArgs class.  It
            is constructed with a reference to the event being raised.
            </summary>
            <returns>Nothing.</returns>
        </member>
        <member name="P:CPF.Controls.DragCompletedEventArgs.HorizontalChange">
            <value>
            Read-only access to the horizontal distance between the point where mouse's left-button
            was pressed and the point where mouse's left-button was released
            </value>
        </member>
        <member name="P:CPF.Controls.DragCompletedEventArgs.VerticalChange">
            <value>
            Read-only access to the vertical distance between the point where mouse's left-button
            was pressed and the point where mouse's left-button was released
            </value>
        </member>
        <member name="P:CPF.Controls.DragCompletedEventArgs.Canceled">
            <summary>
            Read-only access to boolean states whether the drag operation was canceled or not.
            </summary>
            <value></value>
        </member>
        <member name="T:CPF.Controls.TickBar">
            <summary>
            表示一个控件，该控件为 Slider 控件绘制一组刻度线。
            </summary>
        </member>
        <member name="P:CPF.Controls.TickBar.Ticks">
            <summary>
            获取或设置刻度线的位置。
            </summary>
        </member>
        <member name="P:CPF.Controls.TickBar.IsDirectionReversed">
            <summary>
            获取或设置刻度线的增加值的方向。
            </summary>
        </member>
        <member name="P:CPF.Controls.TickBar.Placement">
            <summary>
            刻度线相对于该控件实现的 Track 的位置
            </summary>
        </member>
        <member name="P:CPF.Controls.TickBar.ReservedSpace">
            <summary>
            获取或设置包含为 TickBar 指定的刻度线的区域的空间缓冲区。
            </summary>
        </member>
        <member name="F:CPF.Controls.TickBarPlacement.Left">
            <summary>
            Position this tick at the left of target element.
            </summary>
        </member>
        <member name="F:CPF.Controls.TickBarPlacement.Top">
            <summary>
            Position this tick at the top of target element.
            </summary>
        </member>
        <member name="F:CPF.Controls.TickBarPlacement.Right">
            <summary>
            Position this tick at the right of target element.
            </summary>
        </member>
        <member name="F:CPF.Controls.TickBarPlacement.Bottom">
            <summary>
            Position this tick at the bottom of target element.
            </summary>
        </member>
        <member name="T:CPF.Controls.ToggleButton">
            <summary>
            可切换状态的控件基类
            </summary>
        </member>
        <member name="P:CPF.Controls.ToggleButton.IsChecked">
            <summary>
            获取或设置是否选中
            </summary>
        </member>
        <member name="P:CPF.Controls.ToggleButton.IsThreeState">
            <summary>
            决定控件是支持两种状态还是支持三种状态。
            </summary>
        </member>
        <member name="T:CPF.Controls.Track">
            <summary>
            表示一个处理 Thumb 控件的定位和大小调整的控件基元
            </summary>
        </member>
        <member name="M:CPF.Controls.Track.#ctor">
            <summary>
            表示一个处理 Thumb 控件的定位和大小调整的控件基元
            </summary>
        </member>
        <member name="M:CPF.Controls.Track.ValueFromPoint(CPF.Drawing.Point)">
            <summary>
            Calculate the value from given Point. The input point is relative to TopLeft conner of Track.
            </summary>
            <param name="pt">Point (in Track's co-ordinate).</param>        
        </member>
        <member name="M:CPF.Controls.Track.ValueFromDistance(System.Single,System.Single)">
            <summary>
            This function returns the delta in value that would be caused by moving the thumb the given pixel distances.
            The returned delta value is not guaranteed to be inside the valid Value range.
            </summary>
            <param name="horizontal">Total horizontal distance that the Thumb has moved.</param>
            <param name="vertical">Total vertical distance that the Thumb has moved.</param>        
        </member>
        <member name="P:CPF.Controls.Track.DecreaseRepeatButton">
            <summary>
            The RepeatButton used to decrease the Value 减
            </summary>
        </member>
        <member name="P:CPF.Controls.Track.Thumb">
            <summary>
            The Thumb in the Track
            </summary>
        </member>
        <member name="P:CPF.Controls.Track.IncreaseRepeatButton">
            <summary>
            The RepeatButton used to increase the Value 加
            </summary>
        </member>
        <member name="P:CPF.Controls.Track.Orientation">
            <summary>
            This property represents the Track layout orientation: Vertical or Horizontal.
            On vertical ScrollBars, the thumb moves up and down.  On horizontal bars, the thumb moves left to right.
            </summary>
        </member>
        <member name="P:CPF.Controls.Track.Minimum">
            <summary>
            The Minimum value of the Slider or ScrollBar
            </summary>
        </member>
        <member name="P:CPF.Controls.Track.Maximum">
            <summary>
            The Maximum value of the Slider or ScrollBar
            </summary>
        </member>
        <member name="P:CPF.Controls.Track.Value">
            <summary>
            The current value of the Slider or ScrollBar
            </summary>
        </member>
        <member name="P:CPF.Controls.Track.ViewportSize">
            <summary>
            ViewportSize is the amount of the scrolled extent currently visible.  For most scrolled content, this value
            will be bound to one of <see cref="T:CPF.Controls.ScrollViewer" />'s ViewportSize properties.
            This property is in logical scrolling units.
            
            Setting this value to NaN will turn off automatic sizing of the thumb
            </summary>
        </member>
        <member name="P:CPF.Controls.Track.IsDirectionReversed">
            <summary>
            Indicates if the location of the DecreaseRepeatButton and IncreaseRepeatButton 
            should be swapped.
            </summary>
        </member>
        <member name="M:CPF.Controls.Track.MeasureOverride(CPF.Drawing.Size@)">
             <summary>
             The desired size of a Track is the width (if vertically oriented) or height (if horizontally
             oriented) of the Thumb.  
            
             When ViewportSize is NaN:
                The thumb is measured to find the other dimension.  
             Otherwise:
                Zero size is returned; Track can scale to any size along its children.
                This means that it will occupy no space (and not display) unless made larger by a parent or specified size.
             <seealso cref="M:CPF.UIElement.MeasureOverride(CPF.Drawing.Size@)" />
             </summary>
        </member>
        <member name="M:CPF.Controls.Track.ArrangeOverride(CPF.Drawing.Size@)">
            <summary>
            Children will be stretched to fit horizontally (if vertically oriented) or vertically (if horizontally 
            oriented).
            
            There are essentially three possible layout states:
            1. The track is enabled and the thumb is proportionally sizing.
            2. The track is enabled and the thumb has reached its minimum size. 
            3. The track is disabled or there is not enough room for the thumb. 
               Track elements are not displayed, and will not be arranged.
            <seealso cref="M:CPF.UIElement.ArrangeOverride(CPF.Drawing.Size@)" />
            </summary>
        </member>
        <member name="T:CPF.Controls.TreeView">
            <summary>
            表示一个控件，该控件在树结构（其中的项可以展开和折叠）中显示分层数据。
            </summary>
        </member>
        <member name="P:CPF.Controls.TreeView.HeaderTemplate">
            <summary>
            获取或设置用于显示控件标头的内容的模板。
            </summary>
        </member>
        <member name="P:CPF.Controls.TreeView.ItemsMemberPath">
            <summary>
            获取或设置源对象上某个值的路径，该值作为对象的子节点。
            </summary>
        </member>
        <member name="E:CPF.Controls.TreeView.SelectionChanged">
            <summary>
            选择更改时发生
            </summary>
        </member>
        <member name="M:CPF.Controls.TreeView.AllItems">
            <summary>
            获取所有节点，包括子孙后代
            </summary>
            <returns></returns>
        </member>
        <member name="T:CPF.Controls.TreeViewContentTemplate">
            <summary>
            TreeViewItem的内容模板
            </summary>
        </member>
        <member name="P:CPF.Controls.TreeViewContentTemplate.TreeViewItem">
            <summary>
            当前的TreeViewItem
            </summary>
        </member>
        <member name="T:CPF.Controls.TreeViewItem">
            <summary>
            在 TreeView 控件中实现可选择的项。
            </summary>
        </member>
        <member name="P:CPF.Controls.TreeViewItem.IsExpanded">
            <summary>
            获取或设置 TreeViewItem 中的嵌套项是处于展开状态还是折叠状态。
            </summary>
        </member>
        <member name="P:CPF.Controls.TreeViewItem.IsSelected">
            <summary>
            获取，该值指示是否选中
            </summary>
        </member>
        <member name="P:CPF.Controls.TreeViewItem.Header">
            <summary>
            获取或设置标记控件的项
            </summary>
        </member>
        <member name="P:CPF.Controls.TreeViewItem.HeaderTemplate">
            <summary>
            获取或设置用于显示控件标头的内容的模板。
            </summary>
        </member>
        <member name="P:CPF.Controls.TreeViewItem.ItemsMemberPath">
            <summary>
            获取或设置源对象上某个值的路径，该值作为对象的子节点。
            </summary>
        </member>
        <member name="P:CPF.Controls.TreeViewItem.ParentItem">
            <summary>
            父节点
            </summary>
        </member>
        <member name="M:CPF.Controls.TreeViewItem.SingleSelect">
            <summary>
            单选，将当前元素选中，其他元素取消选择
            </summary>
        </member>
        <member name="M:CPF.Controls.TreeViewItem.ShowMe">
            <summary>
            选中并展开所有父节点
            </summary>
        </member>
        <member name="M:CPF.Controls.TreeViewItem.ExpandSubtree">
            <summary>
            展开 TreeViewItem 控件及其所有子 TreeViewItem 元素。
            </summary>
        </member>
        <member name="T:CPF.Controls.View">
            <summary>
            基础视图
            </summary>
        </member>
        <member name="M:CPF.Controls.View.#ctor(CPF.Platform.IViewImpl)">
            <summary>
            这种方式不会调用CreateView();
            </summary>
            <param name="view"></param>
        </member>
        <member name="P:CPF.Controls.View.RenderScaling">
            <summary>
            渲染缩放比例
            </summary>
        </member>
        <member name="P:CPF.Controls.View.LayoutScaling">
            <summary>
            布局坐标缩放，用于窗体在屏幕和鼠标位置的定位
            </summary>
        </member>
        <member name="P:CPF.Controls.View.Position">
            <summary>
            视图位置，像素坐标
            </summary>
        </member>
        <member name="M:CPF.Controls.View.RenderView(CPF.Drawing.DrawingContext,CPF.Drawing.Rect)">
            <summary>
            渲染整个视图
            </summary>
            <param name="dc"></param>
            <param name="rect">剪辑区域</param>
        </member>
        <member name="M:CPF.Controls.View.GetRadioButtonValue(System.String)">
            <summary>
            当前视图内RadioButton的值
            </summary>
            <param name="GroupName"></param>
            <returns></returns>
        </member>
        <member name="P:CPF.Controls.View.Styles">
            <summary>
            样式集合
            </summary>
        </member>
        <member name="M:CPF.Controls.View.LoadStyle(CPF.Controls.View)">
            <summary>
            清除原来样式，拷贝view样式过来
            </summary>
            <param name="view"></param>
        </member>
        <member name="M:CPF.Controls.View.LoadStyle(System.String,System.Boolean)">
            <summary>
            css样式，比如 Button{Background:rgb(0,142,244);} #Test{Background:rgb(0,142,244);}
            </summary>
            <param name="css"></param>
            <param name="append">附加还是替换</param>
        </member>
        <member name="M:CPF.Controls.View.OnElementInitialize(CPF.UIElement)">
            <summary>
            内部元素初始化，内部所有元素都会调用这个，可以用来代替CSS实现复杂的属性或者模板设置，重写必须保留base.OnElementInitialize。设置Control的Template来替换模板，就需要在base.OnElementInitialize之前
            </summary>
        </member>
        <member name="M:CPF.Controls.View.LoadStyleFile(System.String,System.Boolean)">
            <summary>
            加载样式文件，可以是内嵌，或者在线或者本地的，文件需要是utf8编码
            </summary>
            <param name="path"></param>
            <param name="append"></param>
        </member>
        <member name="P:CPF.Controls.View.Children">
            <summary>
            子元素
            </summary>
        </member>
        <member name="P:CPF.Controls.View.Screen">
            <summary>
            视图所在的屏幕
            </summary>
        </member>
        <member name="T:CPF.Controls.RadioButtonGroupAttribute">
            <summary>
            绑定RadioButton分组的值，只能在View里使用
            </summary>
        </member>
        <member name="M:CPF.Controls.RadioButtonGroupAttribute.#ctor(System.String,System.Boolean)">
            <summary>
            绑定RadioButton分组的值，只能在View里使用，默认是用RadioButton的Content作为绑定值
            </summary>
            <param name="groupName"></param>
            <param name="valueFromDataContext">用RadioButton的DataContext作为绑定的值，默认是用RadioButton的Content</param>
        </member>
        <member name="P:CPF.Controls.RadioButtonGroupAttribute.ValueFromDataContext">
            <summary>
            用RadioButton的DataContext作为绑定的值，默认是用RadioButton的Content
            </summary>
        </member>
        <member name="T:CPF.Controls.VirtualizationMode">
            <summary>
            用来管理子项虚拟化的方法
            </summary>
        </member>
        <member name="F:CPF.Controls.VirtualizationMode.Standard">
            <summary>
            创建并放弃项容器。 Standard virtualization mode -- containers are thrown away when offscreen.
            </summary>
        </member>
        <member name="F:CPF.Controls.VirtualizationMode.Recycling">
            <summary>
            重用项容器。  Recycling virtualization mode -- containers are re-used when offscreen.
            </summary>
        </member>
        <member name="T:CPF.Controls.VirtualizationPresenter`1">
            <summary>
            虚拟化容器
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="M:CPF.Controls.VirtualizationPresenter`1.OnSetItem(`0)">
            <summary>
            对元素设置数据之后
            </summary>
            <param name="item"></param>
        </member>
        <member name="E:CPF.Controls.VirtualizationPresenter`1.SetItem">
            <summary>
            对元素设置数据之后
            </summary>
            <param name="item"></param>
        </member>
        <member name="P:CPF.Controls.VirtualizationPresenter`1.StartId">
            <summary>
            开始ID
            </summary>
        </member>
        <member name="P:CPF.Controls.VirtualizationPresenter`1.Count">
            <summary>
            当前显示的数量
            </summary>
        </member>
        <member name="T:CPF.Controls.Window">
            <summary>
            顶级窗体
            </summary>
        </member>
        <member name="P:CPF.Controls.Window.Windows">
            <summary>
            获取当前存在的所有窗体
            </summary>
        </member>
        <member name="P:CPF.Controls.Window.Title">
            <summary>
            窗体标题
            </summary>
        </member>
        <member name="M:CPF.Controls.Window.DragMove">
            <summary>
            拖拽移动窗体，里面任意元素的MouseDown调用该方法就可以移动窗体
            </summary>
        </member>
        <member name="P:CPF.Controls.Window.IsDragMove">
            <summary>
            正在拖拽移动中
            </summary>
        </member>
        <member name="P:CPF.Controls.Window.DragThickness">
            <summary>
            拖拽的边缘厚度
            </summary>
        </member>
        <member name="M:CPF.Controls.Window.Close">
            <summary>
            关闭窗体
            </summary>
        </member>
        <member name="P:CPF.Controls.Window.IsMain">
            <summary>
            是否是主窗体
            </summary>
        </member>
        <member name="M:CPF.Controls.Window.ShowDialog(CPF.Controls.Window)">
            <summary>
            模态显示，如果owner为null，将禁用之前打开的所有窗体，否则只禁用owner。 需要有主窗体的情况下才能使用
            </summary>
            <param name="owner"></param>
        </member>
        <member name="P:CPF.Controls.Window.DialogResult">
            <summary>
            如果是模态，设置该属性自动关闭模态窗体
            </summary>
        </member>
        <member name="T:CPF.Controls.WindowFrame">
            <summary>
            通用窗体框架，包含窗体边框，系统按钮，阴影这些元素
            </summary>
        </member>
        <member name="M:CPF.Controls.WindowFrame.#ctor(CPF.Controls.IWindow,CPF.UIElement,CPF.UIElement[])">
            <summary>
            通用窗体框架，包含窗体边框，系统按钮，阴影这些元素
            </summary>
            <param name="window">绑定的窗体</param>
            <param name="content"></param>
            <param name="systemButtons">系统按钮</param>
        </member>
        <member name="P:CPF.Controls.WindowFrame.MaximizeBox">
            <summary>
            是否显示最大化还原按钮
            </summary>
        </member>
        <member name="P:CPF.Controls.WindowFrame.MinimizeBox">
            <summary>
            是否显示最小化
            </summary>
        </member>
        <member name="P:CPF.Controls.WindowFrame.Window">
            <summary>
            关联的窗体
            </summary>
        </member>
        <member name="P:CPF.Controls.WindowFrame.Content">
            <summary>
            窗体的内容
            </summary>
        </member>
        <member name="P:CPF.Controls.WindowFrame.SystemButtons">
            <summary>
            系统按钮集合
            </summary>
        </member>
        <member name="P:CPF.Controls.WindowFrame.ShadowBlur">
            <summary>
            阴影宽度
            </summary>
        </member>
        <member name="T:CPF.Controls.IWindow">
            <summary>
            通用窗体接口
            </summary>
        </member>
        <member name="F:CPF.Controls.WindowState.Normal">
            <summary>
            The window is neither minimized or maximized.
            </summary>
        </member>
        <member name="F:CPF.Controls.WindowState.Minimized">
            <summary>
            The window is minimized.
            </summary>
        </member>
        <member name="F:CPF.Controls.WindowState.Maximized">
            <summary>
            The window is maximized.
            </summary>
        </member>
        <member name="T:CPF.Controls.WrapPanel">
            <summary>
            按从左到右的顺序位置定位子元素，在包含框的边缘处将内容切换到下一行。 后续排序按照从上至下或从右至左的顺序进行，具体取决于 Orientation 属性的值。
            </summary>
        </member>
        <member name="P:CPF.Controls.WrapPanel.ItemWidth">
            <summary>
            默认值float.NaN
            </summary>
        </member>
        <member name="P:CPF.Controls.WrapPanel.ItemHeight">
            <summary>
            默认值float.NaN
            </summary>
        </member>
        <member name="M:CPF.Controls.WrapPanel.MeasureOverride(CPF.Drawing.Size@)">
            <summary>
            <see cref="M:CPF.UIElement.MeasureOverride(CPF.Drawing.Size@)"/>
            </summary>
        </member>
        <member name="M:CPF.Controls.WrapPanel.ArrangeOverride(CPF.Drawing.Size@)">
            <summary>
            <see cref="M:CPF.UIElement.ArrangeOverride(CPF.Drawing.Size@)"/>
            </summary>
        </member>
        <member name="T:CPF.CpfObject">
            <summary>
            默认所有属性都是依赖属性，如果不想作为依赖属性，属性上加上[NotCpfProperty]特性。不能使用new来覆盖已经定义为依赖属性的属性，最多255个依赖属性
            </summary>
        </member>
        <member name="F:CPF.CpfObject.inheritsPropertyName">
            <summary>
            继承属性的特性
            </summary>
        </member>
        <member name="P:CPF.CpfObject.Attacheds">
            <summary>
            用于设置附加属性，和绑定附加属性
            </summary>
        </member>
        <member name="P:CPF.CpfObject.Bindings">
            <summary>
            设置绑定
            </summary>
        </member>
        <member name="P:CPF.CpfObject.Commands">
            <summary>
            设置命令
            </summary>
        </member>
        <member name="P:CPF.CpfObject.Item(System.String)">
            <returns></returns>
        </member>
        <member name="M:CPF.CpfObject.OnInitializeComputeProterty(System.Collections.Generic.IEnumerable{CPF.ComputeProtertyInfo})">
            <summary>
            用于初始化计算属性，请不要调用和重写，内部使用
            </summary>
            <param name="computeProterties"></param>
        </member>
        <member name="M:CPF.CpfObject.OnOverrideMetadata(CPF.OverrideMetadata)">
            <summary>
            该类型的第一个对象构造的时候调用，重写属性元数据，一般重写属性的代码写在base.OnOverrideMetadata后面
            </summary>
            <param name="overridePropertys"></param>
        </member>
        <member name="P:CPF.CpfObject.DataContext">
            <summary>
            绑定的数据上下文
            </summary>
        </member>
        <member name="P:CPF.CpfObject.CommandContext">
            <summary>
            绑定的命令上下文
            </summary>
        </member>
        <member name="P:CPF.CpfObject.Type">
            <summary>
            当前对象的类型
            </summary>
        </member>
        <member name="M:CPF.CpfObject.OnAttachedChanged(System.Type,System.String,System.Object,System.Object,System.Object)">
            <summary>
            附加属性更改时发生
            </summary>
            <param name="ownerType">所注册在的类型</param>
            <param name="propertyName"></param>
            <param name="defaultValue"></param>
            <param name="oldValue"></param>
            <param name="newValue"></param>
        </member>
        <member name="M:CPF.CpfObject.RegisterAttached``1(``0,System.Type,CPF.AttachedPropertyChanged,System.String)">
            <summary>
            注册附加属性
            </summary>
            <typeparam name="Value"></typeparam>
            <param name="defaultValue">默认值</param>
            <param name="ownerType">所注册在的类型</param>
            <param name="propertyChanged">属性变化回调</param>
            <param name="propertyName">属性名一般不用设置，VS自动设置</param>
            <returns></returns>
        </member>
        <member name="M:CPF.CpfObject.GetHasLocalValueProperties">
            <summary>
            获取有LocalValue的属性和值
            </summary>
            <returns></returns>
        </member>
        <member name="M:CPF.CpfObject.SetValue``1(``0,System.String)">
            <summary>
            设置属性值
            </summary>
            <typeparam name="T"></typeparam>
            <param name="value"></param>
            <param name="propertyName"></param>
            <returns>设置属性值是否成功</returns>
        </member>
        <member name="M:CPF.CpfObject.SetValue(System.Object,System.Byte@)">
            <summary>
            内部使用，请勿调用
            </summary>
            <param name="value"></param>
            <param name="propertyIndex"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.CpfObject.OnPropertyChanged(System.String,System.Object,System.Object,CPF.PropertyMetadataAttribute)">
            <summary>
            一般不建议在这里处理属性通知，建议用PropertyChanged特性来注册属性通知。
            </summary>
            <param name="propertyName"></param>
            <param name="oldValue"></param>
            <param name="newValue"></param>
            <param name="propertyMetadata"></param>
        </member>
        <member name="M:CPF.CpfObject.NotifyPropertyChanged(System.String)">
            <summary>
            触发INotifyPropertyChanged的PropertyChanged事件
            </summary>
            <param name="propertyName"></param>
        </member>
        <member name="M:CPF.CpfObject.OnSetValue(System.String,System.Object@)">
            <summary>
            当要设置属性值的时候，返回值为true的时候将设置值
            </summary>
            <param name="propertyName"></param>
            <param name="value"></param>
            <returns>返回值为true的时候将设置值</returns>
        </member>
        <member name="M:CPF.CpfObject.ClearLocalValue(System.String)">
            <summary>
            清除本地值
            </summary>
            <param name="propertyName"></param>
        </member>
        <member name="M:CPF.CpfObject.GetValue``1(System.String)">
            <summary>
            获取属性值
            </summary>
            <typeparam name="T"></typeparam>
            <param name="propertyName"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.CpfObject.GetValue(System.Byte@)">
            <summary>
            内部使用，请勿调用
            </summary>
            <param name="index"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.CpfObject.OnGetDefaultValue(CPF.PropertyMetadataAttribute)">
            <summary>
            获取默认值
            </summary>
            <param name="property"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.CpfObject.HasLocalValue(System.String)">
            <summary>
            是否已经设置了本地值
            </summary>
            <param name="propertyName"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.CpfObject.RaiseEvent``1(``0@,System.String)">
            <summary>
            触发事件
            </summary>
            <param name="eventArgs">EventArgs类型要和事件的数据类型对应</param>
            <param name="eventName"></param>
        </member>
        <member name="E:CPF.CpfObject.System#ComponentModel#INotifyPropertyChanged#PropertyChanged">
            <summary>
            当有属性更改之后发生
            </summary>
        </member>
        <member name="P:CPF.CpfObject.Events">
            <summary>
            事件列表，用于优化事件订阅内存
            </summary>
        </member>
        <member name="M:CPF.CpfObject.AddHandler(System.Delegate,System.String)">
            <summary>
            为指定的事件添加事件处理程序，并将该处理程序添加到当前元素的处理程序集合中。
            </summary>
            <param name="handler"></param>
            <param name="eventName"></param>
        </member>
        <member name="M:CPF.CpfObject.RemoveHandler(System.Delegate,System.String)">
            <summary>
            从此元素中删除指定的路由事件处理程序。
            </summary>
            <param name="handler"></param>
            <param name="eventName"></param>
        </member>
        <member name="M:CPF.CpfObject.HasProperty(System.String)">
            <summary>
            是否包含这个依赖属性
            </summary>
            <param name="propertyName"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.CpfObject.op_Implicit(CPF.CpfObject)~System.Boolean">
            <summary>
            不为null而且没有释放，则返回true
            </summary>
            <param name="CPFObject"></param>
        </member>
        <member name="M:CPF.CpfObject.Clone">
            <summary>
            克隆依赖属性和绑定
            </summary>
            <returns></returns>
        </member>
        <member name="M:CPF.CpfObject.CopyTo(CPF.CpfObject,System.Boolean)">
            <summary>
            将依赖属性本地值和绑定拷贝到另外个对象
            </summary>
            <param name="obj"></param>
            <param name="cover">是否覆盖已经存在的本地值</param>
        </member>
        <member name="T:CPF.NotCpfProperty">
            <summary>
            不使用属性管理
            </summary>
        </member>
        <member name="T:CPF.PropertyMetadataAttribute">
            <summary>
            属性元数据，设置默认值，必须显示转换
            </summary>
        </member>
        <member name="M:CPF.PropertyMetadataAttribute.#ctor(System.Object)">
            <summary>
            设置默认值，必须显示转换
            </summary>
            <param name="defaultValue"></param>
        </member>
        <member name="M:CPF.PropertyMetadataAttribute.#ctor(System.Type,System.String)">
            <summary>
            设置默认值，通过设定的类型和字符串转换
            </summary>
            <param name="type"></param>
            <param name="value"></param>
        </member>
        <member name="P:CPF.PropertyMetadataAttribute.DefaultValue">
            <summary>
            默认值
            </summary>
        </member>
        <member name="P:CPF.PropertyMetadataAttribute.PropertyType">
            <summary>
            属性值类型
            </summary>
        </member>
        <member name="P:CPF.PropertyMetadataAttribute.PropertyName">
            <summary>
            属性名
            </summary>
        </member>
        <member name="F:CPF.PropertyMetadataAttribute.actions">
            <summary>
            属性通知
            </summary>
        </member>
        <member name="T:CPF.UIPropertyMetadataAttribute">
            <summary>
            UI属性元数据，设置默认值，必须显示转换
            </summary>
        </member>
        <member name="M:CPF.UIPropertyMetadataAttribute.#ctor(System.Object,System.Boolean)">
            <summary>
            UI属性元数据
            </summary>
            <param name="defaultValue">默认值</param>
            <param name="inherits">属性值是否继承父级容器</param>
        </member>
        <member name="M:CPF.UIPropertyMetadataAttribute.#ctor(System.Type,System.String,System.Boolean)">
            <summary>
            UI属性元数据
            </summary>
            <param name="type"></param>
            <param name="value"></param>
            <param name="inherits"></param>
        </member>
        <member name="M:CPF.UIPropertyMetadataAttribute.#ctor(System.Object,CPF.UIPropertyOptions)">
            <summary>
            UI属性元数据
            </summary>
            <param name="defaultValue">默认值</param>
            <param name="options">属性变化之后的操作，支持位运算组合</param>
        </member>
        <member name="M:CPF.UIPropertyMetadataAttribute.#ctor(System.Type,System.String,CPF.UIPropertyOptions)">
            <summary>
            UI属性元数据
            </summary>
            <param name="type">属性值类型</param>
            <param name="value">默认值</param>
            <param name="options">属性变化之后的操作，支持位运算组合</param>
        </member>
        <member name="P:CPF.UIPropertyMetadataAttribute.UIPropertyMetadataOptions">
            <summary>
            属性变化之后的操作
            </summary>
        </member>
        <member name="P:CPF.UIPropertyMetadataAttribute.Inherits">
            <summary>
            属性值是否继承父级容器
            </summary>
        </member>
        <member name="P:CPF.UIPropertyMetadataAttribute.AffectsArrange">
            <summary>
            属性变化是否需要重新布局
            </summary>
        </member>
        <member name="P:CPF.UIPropertyMetadataAttribute.AffectsMeasure">
            <summary>
            重新计算元素尺寸
            </summary>
        </member>
        <member name="P:CPF.UIPropertyMetadataAttribute.AffectsRender">
            <summary>
            属性变化是否需要重新绘制
            </summary>
        </member>
        <member name="T:CPF.OverrideMetadata">
            <summary>
            属性元数据重写
            </summary>
        </member>
        <member name="M:CPF.OverrideMetadata.Override(System.String,CPF.PropertyMetadataAttribute)">
            <summary>
            属性元数据重写
            </summary>
            <param name="propertyName"></param>
            <param name="propertyMetadata"></param>
        </member>
        <member name="T:CPF.UIPropertyOptions">
            <summary>
            属性变化之后的操作
            </summary>
        </member>
        <member name="F:CPF.UIPropertyOptions.None">
            <summary>No flags</summary>
        </member>
        <member name="F:CPF.UIPropertyOptions.AffectsMeasure">
            <summary>This property affects measurement</summary>
        </member>
        <member name="F:CPF.UIPropertyOptions.AffectsArrange">
            <summary>This property affects arragement</summary>
        </member>
        <member name="F:CPF.UIPropertyOptions.AffectsRender">
            <summary>This property affects rendering</summary>
        </member>
        <member name="F:CPF.UIPropertyOptions.Inherits">
            <summary>This property inherits to children</summary>
        </member>
        <member name="T:CPF.Attached`1">
            <summary>
            获取或者设置附加属性值
            </summary>
            <typeparam name="Value"></typeparam>
            <param name="obj"></param>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="T:CPF.AttachedPropertyChanged">
            <summary>
            CpfObject obj, string propertyName, object defaultValue, object oldValue, ref object newValue
            </summary>
            <param name="obj"></param>
            <param name="propertyName"></param>
            <param name="defaultValue"></param>
            <param name="oldValue"></param>
            <param name="newValue"></param>
        </member>
        <member name="T:CPF.PropertyChangedCallback">
            <summary>
            属性通知回调
            </summary>
            <param name="obj"></param>
            <param name="newValue"></param>
            <param name="oldValue"></param>
            <param name="attribute"></param>
        </member>
        <member name="T:CPF.PropertyChangedAttribute">
            <summary>
            定义该方法为属性通知方法，支持绑定多个，方法类型 void Method(object newValue, object oldValue, CPF.PropertyMetadataAttribute attribute)
            </summary>
        </member>
        <member name="M:CPF.PropertyChangedAttribute.#ctor(System.String)">
            <summary>
            定义该方法为属性通知方法，方法类型 void Method(object newValue, object oldValue, CPF.PropertyMetadataAttribute attribute)
            </summary>
            <param name="propertyName">属性名</param>
        </member>
        <member name="P:CPF.PropertyChangedAttribute.PropertyName">
            <summary>
            通知的属性名
            </summary>
        </member>
        <member name="T:CPF.Cursor">
            <summary>
            用Cursors.****来设置
            </summary>
        </member>
        <member name="P:CPF.Cursor.CursorType">
            <summary>
            是否是标准的光标样式
            </summary>
        </member>
        <member name="T:CPF.Cursors">
            <summary>
            标准光标样式
            </summary>
        </member>
        <member name="T:CPF.Design.DesignerLoadStyleAttribute">
            <summary>
            用于给控件模板设计预览的时候加载样式
            </summary>
        </member>
        <member name="P:CPF.Design.DesignerLoadStyleAttribute.ProjectPath">
            <summary>
            设计时项目路径
            </summary>
        </member>
        <member name="M:CPF.Design.DesignerLoadStyleAttribute.#ctor(System.String)">
            <summary>
            用于给控件模板设计预览的时候加载样式
            </summary>
            <param name="stylesheet">样式路径</param>
        </member>
        <member name="P:CPF.Design.DesignerLoadStyleAttribute.Stylesheet">
            <summary>
            样式路径
            </summary>
        </member>
        <member name="T:CPF.Design.FileBrowserAttribute">
            <summary>
            用于定义设计器中属性的文件浏览功能
            </summary>
        </member>
        <member name="M:CPF.Design.FileBrowserAttribute.#ctor(System.String)">
            <summary>
            设置文件类型，后缀名  .jpg;.png;
            </summary>
            <param name="fileTypes">.jpg;.png;</param>
        </member>
        <member name="P:CPF.Design.FileBrowserAttribute.FileTypes">
            <summary>
            后缀名  .jpg;.png;
            </summary>
        </member>
        <member name="T:CPF.Design.ISerializerCode">
            <summary>
            定义类型序列化为C#代码
            </summary>
        </member>
        <member name="M:CPF.Design.ISerializerCode.GetCreationCode">
            <summary>
            获取对象构造的C#代码
            </summary>
            <returns></returns>
        </member>
        <member name="T:CPF.Documents.Block">
            <summary>
            块级元素，类似于网页的 DIV
            </summary>
        </member>
        <member name="P:CPF.Documents.Block.Children">
            <summary>
            子元素
            </summary>
        </member>
        <member name="P:CPF.Documents.Block.Background">
            <summary>
            背景填充
            </summary>
        </member>
        <member name="P:CPF.Documents.Block.Lines">
            <summary>
            布局好的行
            </summary>
        </member>
        <member name="M:CPF.Documents.Block.Add(System.String,System.Int16)">
            <summary>
            添加一段文字
            </summary>
            <param name="text"></param>
            <param name="styleId"></param>
            <returns>字符数量</returns>
        </member>
        <member name="M:CPF.Documents.Block.InsertText(System.Int32,System.String,System.Int16)">
            <summary>
            插入文字
            </summary>
            <param name="index"></param>
            <param name="text"></param>
            <param name="styleId"></param>
            <returns>字符数量</returns>
        </member>
        <member name="P:CPF.Documents.Block.Width">
            <summary>
            限定布局宽度，自动换行或者居中或者右靠的时候有用
            </summary>
        </member>
        <member name="P:CPF.Documents.Block.WordWarp">
            <summary>
            自动换行
            </summary>
        </member>
        <member name="P:CPF.Documents.Block.Margin">
            <summary>
            外间距
            </summary>
        </member>
        <member name="P:CPF.Documents.Block.Padding">
            <summary>
            内间距
            </summary>
        </member>
        <member name="P:CPF.Documents.Block.TextAlignment">
            <summary>
            文本对齐方式
            </summary>
        </member>
        <member name="T:CPF.Documents.TextLine">
            <summary>
            布局好的行
            </summary>
        </member>
        <member name="P:CPF.Documents.Document.Styles">
            <summary>
            文档样式
            </summary>
        </member>
        <member name="M:CPF.Documents.Cache.GetCache(System.Int16,CPF.HybridDictionary{System.Int32,CPF.Documents.Cache},CPF.Documents.Document,CPF.Documents.Cache)">
            <summary>
            只缓存字体
            </summary>
            <param name="styleId"></param>
            <param name="cache"></param>
            <param name="document"></param>
            <param name="parent"></param>
            <returns></returns>
        </member>
        <member name="T:CPF.Documents.DocumentChar">
            <summary>
            定义一个文档字符
            </summary>
        </member>
        <member name="M:CPF.Documents.DocumentChar.#ctor(System.Char)">
            <summary>
            定义一个文档字符
            </summary>
            <param name="c"></param>
        </member>
        <member name="P:CPF.Documents.DocumentChar.CanSelect">
            <summary>
            是否可以被选中
            </summary>
            <returns></returns>
        </member>
        <member name="P:CPF.Documents.DocumentChar.Width">
            <summary>
            布局之后的尺寸
            </summary>
        </member>
        <member name="P:CPF.Documents.DocumentChar.Height">
            <summary>
            布局之后的尺寸
            </summary>
        </member>
        <member name="T:CPF.Documents.DocumentStyle">
            <summary>
            文档元素样式
            </summary>
        </member>
        <member name="M:CPF.Documents.DocumentStyle.#ctor">
            <summary>
            文档元素样式
            </summary>
        </member>
        <member name="P:CPF.Documents.DocumentStyle.Background">
            <summary>
            背景填充
            </summary>
        </member>
        <member name="P:CPF.Documents.DocumentStyle.FontFamily">
            <summary>
            字体名称
            </summary>
        </member>
        <member name="P:CPF.Documents.DocumentStyle.FontSize">
            <summary>
            字体尺寸
            </summary>
        </member>
        <member name="P:CPF.Documents.DocumentStyle.FontStyle">
            <summary>
            字体样式
            </summary>
        </member>
        <member name="P:CPF.Documents.DocumentStyle.Foreground">
            <summary>
            前景色
            </summary>
        </member>
        <member name="P:CPF.Documents.DocumentStyle.TextDecoration">
            <summary>
            表示一个文本修饰，它是可添加到文本的视觉装饰（如下划线）。字符串格式： overline/Underline/Strikethrough/none [width[,Solid/Dash/Dot/DashDot/DashDotDot]] [color]
            </summary>
        </member>
        <member name="T:CPF.Documents.FlowDirection">
            <summary>
            指定文本和用户界面 (UI) 元素的内容流动方向
            </summary>
        </member>
        <member name="F:CPF.Documents.FlowDirection.Auto">
            <summary>
            自动，继承上一个元素
            </summary>
        </member>
        <member name="F:CPF.Documents.FlowDirection.LeftToRight">
            <summary>
            指示内容应从左向右流动。
            </summary>
        </member>
        <member name="F:CPF.Documents.FlowDirection.RightToLeft">
            <summary>
            指示内容应从右向左流动
            </summary>
        </member>
        <member name="P:CPF.Documents.ICanSelectElement.CanSelect">
            <summary>
            是否可以被选中
            </summary>
            <returns></returns>
        </member>
        <member name="T:CPF.Documents.IDocumentContainer">
            <summary>
            文档元素容器
            </summary>
        </member>
        <member name="P:CPF.Documents.IDocumentContainer.ChildrenCanSelect">
            <summary>
            子元素是否可以选择
            </summary>
        </member>
        <member name="P:CPF.Documents.IDocumentContainer.Lines">
            <summary>
            布局好的行
            </summary>
        </member>
        <member name="T:CPF.Documents.IDocumentElement">
            <summary>
            文档元素
            </summary>
        </member>
        <member name="P:CPF.Documents.IDocumentElement.StyleId">
            <summary>
            样式ID，如果小于0 则使用父容器的样式
            </summary>
        </member>
        <member name="M:CPF.Documents.IDocumentElement.Arrange(CPF.Drawing.Font@,CPF.Drawing.Size@)">
            <summary>
            计算布局并获取最终尺寸
            </summary>
            <param name="font"></param>
            <param name="availableSize"></param>
            <returns></returns>
        </member>
        <member name="P:CPF.Documents.IDocumentElement.Left">
            <summary>
            布局之后的最终位置
            </summary>
        </member>
        <member name="P:CPF.Documents.IDocumentElement.Top">
            <summary>
            布局之后的最终位置
            </summary>
        </member>
        <member name="P:CPF.Documents.IDocumentElement.Width">
            <summary>
            布局之后的尺寸
            </summary>
        </member>
        <member name="P:CPF.Documents.IDocumentElement.Height">
            <summary>
            布局之后的尺寸
            </summary>
        </member>
        <member name="P:CPF.Documents.IDocumentElement.Right">
            <summary>
            右边间距
            </summary>
        </member>
        <member name="P:CPF.Documents.IDocumentElement.Bottom">
            <summary>
            下边间距
            </summary>
        </member>
        <member name="P:CPF.Documents.IDocumentElement.IsMeasureValid">
            <summary>
            尺寸计算是否有效，下次需要时重新计算尺寸
            </summary>
        </member>
        <member name="P:CPF.Documents.IDocumentStyle.FontFamily">
            <summary>
            字体名称
            </summary>
        </member>
        <member name="P:CPF.Documents.IDocumentStyle.FontSize">
            <summary>
            字体尺寸
            </summary>
        </member>
        <member name="P:CPF.Documents.IDocumentStyle.FontStyle">
            <summary>
            字体样式
            </summary>
        </member>
        <member name="P:CPF.Documents.IDocumentStyle.Foreground">
            <summary>
            前景填充
            </summary>
        </member>
        <member name="P:CPF.Documents.IDocumentStyle.TextDecoration">
            <summary>
            表示一个文本修饰，它是可添加到文本的视觉装饰（如下划线）。字符串格式： overline/Underline/Strikethrough/none [width[,Solid/Dash/Dot/DashDot/DashDotDot]] [color]
            </summary>
        </member>
        <member name="P:CPF.Documents.IFlowElement.FlowDirection">
            <summary>
            流动方向
            </summary>
        </member>
        <member name="T:CPF.Documents.InlineBlock">
            <summary>
            分块
            </summary>
        </member>
        <member name="P:CPF.Documents.InlineBlock.FlowDirection">
            <summary>
            流动方向
            </summary>
        </member>
        <member name="T:CPF.Documents.InlineUIContainer">
            <summary>
            将UIElement作为文档里的元素布局，元素控件不能使用百分比尺寸
            </summary>
        </member>
        <member name="M:CPF.Documents.InlineUIContainer.#ctor">
            <summary>
            将UIElement作为文档里的元素布局，元素控件不能使用百分比尺寸
            </summary>
        </member>
        <member name="P:CPF.Documents.InlineUIContainer.ActualPositon">
            <summary>
            获取获取相对于文档的位置
            </summary>
            <returns></returns>
        </member>
        <member name="P:CPF.Documents.InlineUIContainer.Width">
            <summary>
            布局之后的尺寸，包含margin
            </summary>
        </member>
        <member name="P:CPF.Documents.InlineUIContainer.Height">
            <summary>
            布局之后的尺寸，包含margin
            </summary>
        </member>
        <member name="T:CPF.Documents.UTF32Text">
            <summary>
            定义一个多Char的字符对象，比如：Unicode 里的表情：😁
            </summary>
        </member>
        <member name="M:CPF.Documents.UTF32Text.#ctor(System.String)">
            <summary>
            定义一个文档字符
            </summary>
            <param name="c"></param>
        </member>
        <member name="P:CPF.Documents.UTF32Text.CanSelect">
            <summary>
            是否可以被选中
            </summary>
            <returns></returns>
        </member>
        <member name="P:CPF.Documents.UTF32Text.Width">
            <summary>
            布局之后的尺寸，包含margin
            </summary>
        </member>
        <member name="P:CPF.Documents.UTF32Text.Height">
            <summary>
            布局之后的尺寸，包含margin
            </summary>
        </member>
        <member name="M:CPF.DoubleUtil.AreClose(System.Double,System.Double)">
            <summary>
            AreClose - Returns whether or not two doubles are "close".  That is, whether or 
            not they are within epsilon of each other.  Note that this epsilon is proportional
            to the numbers themselves to that AreClose survives scalar multiplication.
            There are plenty of ways for this to return false even for numbers which
            are theoretically identical, so no code calling this should fail to work if this 
            returns false.  This is important enough to repeat:
            NB: NO CODE CALLING THIS FUNCTION SHOULD DEPEND ON ACCURATE RESULTS - this should be
            used for optimizations *only*.
            </summary>
            <returns>
            bool - the result of the AreClose comparision.
            </returns>
            <param name="value1"> The first double to compare. </param>
            <param name="value2"> The second double to compare. </param>
        </member>
        <member name="M:CPF.DoubleUtil.LessThan(System.Double,System.Double)">
            <summary>
            LessThan - Returns whether or not the first double is less than the second double.
            That is, whether or not the first is strictly less than *and* not within epsilon of
            the other number.  Note that this epsilon is proportional to the numbers themselves
            to that AreClose survives scalar multiplication.  Note,
            There are plenty of ways for this to return false even for numbers which
            are theoretically identical, so no code calling this should fail to work if this 
            returns false.  This is important enough to repeat:
            NB: NO CODE CALLING THIS FUNCTION SHOULD DEPEND ON ACCURATE RESULTS - this should be
            used for optimizations *only*.
            </summary>
            <returns>
            bool - the result of the LessThan comparision.
            </returns>
            <param name="value1"> The first double to compare. </param>
            <param name="value2"> The second double to compare. </param>
        </member>
        <member name="M:CPF.DoubleUtil.GreaterThan(System.Double,System.Double)">
            <summary>
            GreaterThan - Returns whether or not the first double is greater than the second double.
            That is, whether or not the first is strictly greater than *and* not within epsilon of
            the other number.  Note that this epsilon is proportional to the numbers themselves
            to that AreClose survives scalar multiplication.  Note,
            There are plenty of ways for this to return false even for numbers which
            are theoretically identical, so no code calling this should fail to work if this 
            returns false.  This is important enough to repeat:
            NB: NO CODE CALLING THIS FUNCTION SHOULD DEPEND ON ACCURATE RESULTS - this should be
            used for optimizations *only*.
            </summary>
            <returns>
            bool - the result of the GreaterThan comparision.
            </returns>
            <param name="value1"> The first double to compare. </param>
            <param name="value2"> The second double to compare. </param>
        </member>
        <member name="M:CPF.DoubleUtil.LessThanOrClose(System.Double,System.Double)">
            <summary>
            LessThanOrClose - Returns whether or not the first double is less than or close to
            the second double.  That is, whether or not the first is strictly less than or within
            epsilon of the other number.  Note that this epsilon is proportional to the numbers 
            themselves to that AreClose survives scalar multiplication.  Note,
            There are plenty of ways for this to return false even for numbers which
            are theoretically identical, so no code calling this should fail to work if this 
            returns false.  This is important enough to repeat:
            NB: NO CODE CALLING THIS FUNCTION SHOULD DEPEND ON ACCURATE RESULTS - this should be
            used for optimizations *only*.
            </summary>
            <returns>
            bool - the result of the LessThanOrClose comparision.
            </returns>
            <param name="value1"> The first double to compare. </param>
            <param name="value2"> The second double to compare. </param>
        </member>
        <member name="M:CPF.DoubleUtil.GreaterThanOrClose(System.Double,System.Double)">
            <summary>
            GreaterThanOrClose - Returns whether or not the first double is greater than or close to
            the second double.  That is, whether or not the first is strictly greater than or within
            epsilon of the other number.  Note that this epsilon is proportional to the numbers 
            themselves to that AreClose survives scalar multiplication.  Note,
            There are plenty of ways for this to return false even for numbers which
            are theoretically identical, so no code calling this should fail to work if this 
            returns false.  This is important enough to repeat:
            NB: NO CODE CALLING THIS FUNCTION SHOULD DEPEND ON ACCURATE RESULTS - this should be
            used for optimizations *only*.
            </summary>
            <returns>
            bool - the result of the GreaterThanOrClose comparision.
            </returns>
            <param name="value1"> The first double to compare. </param>
            <param name="value2"> The second double to compare. </param>
        </member>
        <member name="M:CPF.DoubleUtil.IsOne(System.Double)">
            <summary>
            IsOne - Returns whether or not the double is "close" to 1.  Same as AreClose(double, 1),
            but this is faster.
            </summary>
            <returns>
            bool - the result of the AreClose comparision.
            </returns>
            <param name="value"> The double to compare to 1. </param>
        </member>
        <member name="M:CPF.DoubleUtil.IsZero(System.Double)">
            <summary>
            IsZero - Returns whether or not the double is "close" to 0.  Same as AreClose(double, 0),
            but this is faster.
            </summary>
            <returns>
            bool - the result of the AreClose comparision.
            </returns>
            <param name="value"> The double to compare to 0. </param>
        </member>
        <member name="M:CPF.DoubleUtil.AreClose(CPF.Drawing.Point,CPF.Drawing.Point)">
            <summary>
            Compares two points for fuzzy equality.  This function
            helps compensate for the fact that double values can 
            acquire error when operated upon
            </summary>
            <param name='point1'>The first point to compare</param>
            <param name='point2'>The second point to compare</param>
            <returns>Whether or not the two points are equal</returns>
        </member>
        <member name="M:CPF.DoubleUtil.AreClose(CPF.Drawing.Size,CPF.Drawing.Size)">
            <summary>
            Compares two Size instances for fuzzy equality.  This function
            helps compensate for the fact that double values can 
            acquire error when operated upon
            </summary>
            <param name='size1'>The first size to compare</param>
            <param name='size2'>The second size to compare</param>
            <returns>Whether or not the two Size instances are equal</returns>
        </member>
        <member name="M:CPF.DoubleUtil.AreClose(CPF.Drawing.Vector,CPF.Drawing.Vector)">
            <summary>
            Compares two Vector instances for fuzzy equality.  This function
            helps compensate for the fact that double values can 
            acquire error when operated upon
            </summary>
            <param name='vector1'>The first Vector to compare</param>
            <param name='vector2'>The second Vector to compare</param>
            <returns>Whether or not the two Vector instances are equal</returns>
        </member>
        <member name="M:CPF.DoubleUtil.AreClose(CPF.Drawing.Rect,CPF.Drawing.Rect)">
            <summary>
            Compares two rectangles for fuzzy equality.  This function
            helps compensate for the fact that double values can 
            acquire error when operated upon
            </summary>
            <param name='rect1'>The first rectangle to compare</param>
            <param name='rect2'>The second rectangle to compare</param>
            <returns>Whether or not the two rectangles are equal</returns>
        </member>
        <member name="M:CPF.DoubleUtil.IsBetweenZeroAndOne(System.Double)">
            <summary>
            
            </summary>
            <param name="val"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.DoubleUtil.DoubleToInt(System.Double)">
            <summary>
            
            </summary>
            <param name="val"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.DoubleUtil.RectHasNaN(CPF.Drawing.Rect)">
            <summary>
            rectHasNaN - this returns true if this rect has X, Y , Height or Width as NaN.
            </summary>
            <param name='r'>The rectangle to test</param>
            <returns>returns whether the Rect has NaN</returns>        
        </member>
        <member name="T:CPF.Drawing.AntialiasMode">
            <summary>
            抗锯齿模式
            </summary>
        </member>
        <member name="T:CPF.Drawing.Bitmap">
            <summary>
            位图
            </summary>
        </member>
        <member name="M:CPF.Drawing.Bitmap.#ctor(System.Int32,System.Int32)">
            <summary>
            创建位图
            </summary>
            <param name="w"></param>
            <param name="h"></param>
        </member>
        <member name="M:CPF.Drawing.Bitmap.#ctor(System.Int32,System.Int32,System.Int32,CPF.Drawing.PixelFormat,System.IntPtr)">
            <summary>
            创建位图
            </summary>
            <param name="w"></param>
            <param name="h"></param>
            <param name="pitch">指定一次扫描行的开头之间的字节偏移量的整数。 这通常 （但不是一定） 是像素格式 (例如，32 位 / 像素的 4) 中的字节数乘以位图的宽度。</param>
            <param name="pixelFormat"></param>
            <param name="data"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.Drawing.Bitmap.#ctor(System.IO.Stream)">
            <summary>
            创建位图
            </summary>
            <param name="stream"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.Drawing.Bitmap.#ctor(CPF.Drawing.Image)">
            <summary>
            创建位图
            </summary>
            <param name="img"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.Drawing.Bitmap.Lock">
            <summary>
            锁定位图到内存用以像素操作，BitmapLock使用完要Dispose
            </summary>
            <returns></returns>
        </member>
        <member name="T:CPF.Drawing.BitmapLock">
            <summary>
            位图锁，使用完了记得Dispose
            </summary>
        </member>
        <member name="M:CPF.Drawing.BitmapLock.SetPixel(System.Int32@,System.Int32@,System.Byte@,System.Byte@,System.Byte@,System.Byte@)">
            <summary>
            设置像素颜色
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="color"></param>
        </member>
        <member name="M:CPF.Drawing.BitmapLock.GetPixel(System.Int32@,System.Int32@,System.Byte@,System.Byte@,System.Byte@,System.Byte@)">
            <summary>
            获取像素颜色
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.Drawing.BitmapLock.SetAlpha(System.Int32@,System.Int32@,System.Byte@)">
            <summary>
            设置某个点的Alpha
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="a"></param>
        </member>
        <member name="M:CPF.Drawing.BitmapLock.GetAlpha(System.Int32@,System.Int32@,System.Byte@)">
            <summary>
            获取某个点的Alpha
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="a"></param>
        </member>
        <member name="P:CPF.Drawing.BitmapLock.DataPointer">
            <summary>
            数据地址
            </summary>
        </member>
        <member name="T:CPF.Drawing.Brush">
            <summary>
            笔刷
            </summary>
        </member>
        <member name="P:CPF.Drawing.Brush.AdapterBrush">
            <summary>
            适配器创建的笔刷，绘制过程中才会被创建
            </summary>
        </member>
        <member name="M:CPF.Drawing.Brush.op_Implicit(System.String)~CPF.Drawing.Brush">
            <summary>
            Parses a color string. #ffffff、r,g,b、a,r,g,b
            </summary>
            <param name="n"></param>
        </member>
        <member name="M:CPF.Drawing.Brush.op_Implicit(CPF.Drawing.Color)~CPF.Drawing.Brush">
            <summary>
            Parses a color to brush
            </summary>
            <param name="n"></param>
        </member>
        <member name="P:CPF.Drawing.Color.Transparent">
            <summary>
            透明
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.AliceBlue">
            <summary>
            Well-known color: AliceBlue
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.AntiqueWhite">
            <summary>
            Well-known color: AntiqueWhite
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.Aqua">
            <summary>
            Well-known color: Aqua
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.Aquamarine">
            <summary>
            Well-known color: Aquamarine
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.Azure">
            <summary>
            Well-known color: Azure
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.Beige">
            <summary>
            Well-known color: Beige
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.Bisque">
            <summary>
            Well-known color: Bisque
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.Black">
            <summary>
            Well-known color: Black
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.BlanchedAlmond">
            <summary>
            Well-known color: BlanchedAlmond
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.Blue">
            <summary>
            Well-known color: Blue
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.BlueViolet">
            <summary>
            Well-known color: BlueViolet
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.Brown">
            <summary>
            Well-known color: Brown
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.BurlyWood">
            <summary>
            Well-known color: BurlyWood
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.CadetBlue">
            <summary>
            Well-known color: CadetBlue
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.Chartreuse">
            <summary>
            Well-known color: Chartreuse
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.Chocolate">
            <summary>
            Well-known color: Chocolate
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.Coral">
            <summary>
            Well-known color: Coral
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.CornflowerBlue">
            <summary>
            Well-known color: CornflowerBlue
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.Cornsilk">
            <summary>
            Well-known color: Cornsilk
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.Crimson">
            <summary>
            Well-known color: Crimson
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.Cyan">
            <summary>
            Well-known color: Cyan
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.DarkBlue">
            <summary>
            Well-known color: DarkBlue
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.DarkCyan">
            <summary>
            Well-known color: DarkCyan
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.DarkGoldenrod">
            <summary>
            Well-known color: DarkGoldenrod
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.DarkGray">
            <summary>
            Well-known color: DarkGray
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.DarkGreen">
            <summary>
            Well-known color: DarkGreen
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.DarkKhaki">
            <summary>
            Well-known color: DarkKhaki
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.DarkMagenta">
            <summary>
            Well-known color: DarkMagenta
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.DarkOliveGreen">
            <summary>
            Well-known color: DarkOliveGreen
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.DarkOrange">
            <summary>
            Well-known color: DarkOrange
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.DarkOrchid">
            <summary>
            Well-known color: DarkOrchid
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.DarkRed">
            <summary>
            Well-known color: DarkRed
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.DarkSalmon">
            <summary>
            Well-known color: DarkSalmon
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.DarkSeaGreen">
            <summary>
            Well-known color: DarkSeaGreen
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.DarkSlateBlue">
            <summary>
            Well-known color: DarkSlateBlue
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.DarkSlateGray">
            <summary>
            Well-known color: DarkSlateGray
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.DarkTurquoise">
            <summary>
            Well-known color: DarkTurquoise
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.DarkViolet">
            <summary>
            Well-known color: DarkViolet
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.DeepPink">
            <summary>
            Well-known color: DeepPink
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.DeepSkyBlue">
            <summary>
            Well-known color: DeepSkyBlue
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.DimGray">
            <summary>
            Well-known color: DimGray
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.DodgerBlue">
            <summary>
            Well-known color: DodgerBlue
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.Firebrick">
            <summary>
            Well-known color: Firebrick
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.FloralWhite">
            <summary>
            Well-known color: FloralWhite
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.ForestGreen">
            <summary>
            Well-known color: ForestGreen
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.Fuchsia">
            <summary>
            Well-known color: Fuchsia
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.Gainsboro">
            <summary>
            Well-known color: Gainsboro
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.GhostWhite">
            <summary>
            Well-known color: GhostWhite
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.Gold">
            <summary>
            Well-known color: Gold
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.Goldenrod">
            <summary>
            Well-known color: Goldenrod
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.Gray">
            <summary>
            Well-known color: Gray
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.Green">
            <summary>
            Well-known color: Green
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.GreenYellow">
            <summary>
            Well-known color: GreenYellow
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.Honeydew">
            <summary>
            Well-known color: Honeydew
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.HotPink">
            <summary>
            Well-known color: HotPink
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.IndianRed">
            <summary>
            Well-known color: IndianRed
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.Indigo">
            <summary>
            Well-known color: Indigo
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.Ivory">
            <summary>
            Well-known color: Ivory
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.Khaki">
            <summary>
            Well-known color: Khaki
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.Lavender">
            <summary>
            Well-known color: Lavender
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.LavenderBlush">
            <summary>
            Well-known color: LavenderBlush
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.LawnGreen">
            <summary>
            Well-known color: LawnGreen
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.LemonChiffon">
            <summary>
            Well-known color: LemonChiffon
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.LightBlue">
            <summary>
            Well-known color: LightBlue
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.LightCoral">
            <summary>
            Well-known color: LightCoral
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.LightCyan">
            <summary>
            Well-known color: LightCyan
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.LightGoldenrodYellow">
            <summary>
            Well-known color: LightGoldenrodYellow
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.LightGray">
            <summary>
            Well-known color: LightGray
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.LightGreen">
            <summary>
            Well-known color: LightGreen
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.LightPink">
            <summary>
            Well-known color: LightPink
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.LightSalmon">
            <summary>
            Well-known color: LightSalmon
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.LightSeaGreen">
            <summary>
            Well-known color: LightSeaGreen
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.LightSkyBlue">
            <summary>
            Well-known color: LightSkyBlue
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.LightSlateGray">
            <summary>
            Well-known color: LightSlateGray
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.LightSteelBlue">
            <summary>
            Well-known color: LightSteelBlue
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.LightYellow">
            <summary>
            Well-known color: LightYellow
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.Lime">
            <summary>
            Well-known color: Lime
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.LimeGreen">
            <summary>
            Well-known color: LimeGreen
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.Linen">
            <summary>
            Well-known color: Linen
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.Magenta">
            <summary>
            Well-known color: Magenta
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.Maroon">
            <summary>
            Well-known color: Maroon
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.MediumAquamarine">
            <summary>
            Well-known color: MediumAquamarine
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.MediumBlue">
            <summary>
            Well-known color: MediumBlue
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.MediumOrchid">
            <summary>
            Well-known color: MediumOrchid
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.MediumPurple">
            <summary>
            Well-known color: MediumPurple
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.MediumSeaGreen">
            <summary>
            Well-known color: MediumSeaGreen
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.MediumSlateBlue">
            <summary>
            Well-known color: MediumSlateBlue
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.MediumSpringGreen">
            <summary>
            Well-known color: MediumSpringGreen
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.MediumTurquoise">
            <summary>
            Well-known color: MediumTurquoise
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.MediumVioletRed">
            <summary>
            Well-known color: MediumVioletRed
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.MidnightBlue">
            <summary>
            Well-known color: MidnightBlue
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.MintCream">
            <summary>
            Well-known color: MintCream
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.MistyRose">
            <summary>
            Well-known color: MistyRose
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.Moccasin">
            <summary>
            Well-known color: Moccasin
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.NavajoWhite">
            <summary>
            Well-known color: NavajoWhite
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.Navy">
            <summary>
            Well-known color: Navy
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.OldLace">
            <summary>
            Well-known color: OldLace
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.Olive">
            <summary>
            Well-known color: Olive
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.OliveDrab">
            <summary>
            Well-known color: OliveDrab
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.Orange">
            <summary>
            Well-known color: Orange
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.OrangeRed">
            <summary>
            Well-known color: OrangeRed
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.Orchid">
            <summary>
            Well-known color: Orchid
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.PaleGoldenrod">
            <summary>
            Well-known color: PaleGoldenrod
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.PaleGreen">
            <summary>
            Well-known color: PaleGreen
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.PaleTurquoise">
            <summary>
            Well-known color: PaleTurquoise
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.PaleVioletRed">
            <summary>
            Well-known color: PaleVioletRed
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.PapayaWhip">
            <summary>
            Well-known color: PapayaWhip
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.PeachPuff">
            <summary>
            Well-known color: PeachPuff
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.Peru">
            <summary>
            Well-known color: Peru
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.Pink">
            <summary>
            Well-known color: Pink
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.Plum">
            <summary>
            Well-known color: Plum
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.PowderBlue">
            <summary>
            Well-known color: PowderBlue
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.Purple">
            <summary>
            Well-known color: Purple
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.Red">
            <summary>
            Well-known color: Red
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.RosyBrown">
            <summary>
            Well-known color: RosyBrown
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.RoyalBlue">
            <summary>
            Well-known color: RoyalBlue
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.SaddleBrown">
            <summary>
            Well-known color: SaddleBrown
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.Salmon">
            <summary>
            Well-known color: Salmon
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.SandyBrown">
            <summary>
            Well-known color: SandyBrown
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.SeaGreen">
            <summary>
            Well-known color: SeaGreen
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.SeaShell">
            <summary>
            Well-known color: SeaShell
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.Sienna">
            <summary>
            Well-known color: Sienna
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.Silver">
            <summary>
            Well-known color: Silver
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.SkyBlue">
            <summary>
            Well-known color: SkyBlue
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.SlateBlue">
            <summary>
            Well-known color: SlateBlue
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.SlateGray">
            <summary>
            Well-known color: SlateGray
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.Snow">
            <summary>
            Well-known color: Snow
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.SpringGreen">
            <summary>
            Well-known color: SpringGreen
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.SteelBlue">
            <summary>
            Well-known color: SteelBlue
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.Tan">
            <summary>
            Well-known color: Tan
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.Teal">
            <summary>
            Well-known color: Teal
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.Thistle">
            <summary>
            Well-known color: Thistle
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.Tomato">
            <summary>
            Well-known color: Tomato
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.Turquoise">
            <summary>
            Well-known color: Turquoise
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.Violet">
            <summary>
            Well-known color: Violet
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.Wheat">
            <summary>
            Well-known color: Wheat
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.White">
            <summary>
            Well-known color: White
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.WhiteSmoke">
            <summary>
            Well-known color: WhiteSmoke
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.Yellow">
            <summary>
            Well-known color: Yellow
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.YellowGreen">
            <summary>
            Well-known color: YellowGreen
            </summary>
        </member>
        <member name="M:CPF.Drawing.Color.FromUInt32(System.UInt32)">
            <summary>
             Color - sRgb legacy interface, assumes Rgb values are sRgb
            </summary>
        </member>
        <member name="M:CPF.Drawing.Color.FromScRgb(System.Single,System.Single,System.Single,System.Single)">
            <summary>
             FromScRgb
            </summary>
        </member>
        <member name="M:CPF.Drawing.Color.FromArgb(System.Byte,System.Byte,System.Byte,System.Byte)">
            <summary>
             Color - sRgb legacy interface, assumes Rgb values are sRgb, alpha channel is linear 1.0 gamma
            </summary>
        </member>
        <member name="M:CPF.Drawing.Color.FromRgb(System.Byte,System.Byte,System.Byte)">
            <summary>
             Color - sRgb legacy interface, assumes Rgb values are sRgb
            </summary>
        </member>
        <member name="M:CPF.Drawing.Color.Parse(System.String)">
            <summary>
            Parses a color string. #ffffff、r,g,b、r,g,b,a
            </summary>
            <param name="s">The color string.</param>
            <returns>The <see cref="T:CPF.Drawing.Color"/>.</returns>
        </member>
        <member name="M:CPF.Drawing.Color.op_Implicit(System.String)~CPF.Drawing.Color">
            <summary>
            Parses a color string. #ffffff、r,g,b、r,g,b,a
            </summary>
            <param name="n"></param>
        </member>
        <member name="M:CPF.Drawing.Color.GetHashCode">
            <summary>
             GetHashCode
            </summary>
        </member>
        <member name="M:CPF.Drawing.Color.ToString">
            <summary>
            Creates a string representation of this object based on the current culture.
            </summary>
            <returns>
            A string representation of this object.
            </returns>
        </member>
        <member name="M:CPF.Drawing.Color.ToString(System.IFormatProvider)">
            <summary>
            Creates a string representation of this object based on the IFormatProvider
            passed in.  If the provider is null, the CurrentCulture is used.
            </summary>
            <returns>
            A string representation of this object.
            </returns>
        </member>
        <member name="M:CPF.Drawing.Color.System#IFormattable#ToString(System.String,System.IFormatProvider)">
            <summary>
            Creates a string representation of this object based on the format string
            and IFormatProvider passed in.
            If the provider is null, the CurrentCulture is used.
            See the documentation for IFormattable for more information.
            </summary>
            <returns>
            A string representation of this object.
            </returns>
        </member>
        <member name="M:CPF.Drawing.Color.ConvertToString(System.String,System.IFormatProvider)">
            <summary>
            Creates a string representation of this object based on the format string 
            and IFormatProvider passed in.  
            If the provider is null, the CurrentCulture is used.
            See the documentation for IFormattable for more information.
            </summary>
            <returns>
            A string representation of this object.
            </returns>
        </member>
        <member name="M:CPF.Drawing.Color.AreClose(CPF.Drawing.Color,CPF.Drawing.Color)">
            <summary>
            Compares two colors for fuzzy equality.  This function
            helps compensate for the fact that float values can
            acquire error when operated upon
            </summary>
            <param name='color1'>The first color to compare</param>
            <param name='color2'>The second color to compare</param>
            <returns>Whether or not the two colors are equal</returns>
        </member>
        <member name="M:CPF.Drawing.Color.IsClose(CPF.Drawing.Color)">
            <summary>
            Compares two colors for fuzzy equality.  This function
            helps compensate for the fact that float values can
            acquire error when operated upon
            </summary>
            <param name='color'>The color to compare to this</param>
            <returns>Whether or not the two colors are equal</returns>
        </member>
        <member name="M:CPF.Drawing.Color.Clamp">
            <summary>
             Clamp - the color channels to the gamut [0..1].  If a channel is out
             of gamut, it will be set to 1, which represents full saturation.
             todo: [....] up context values if they exist
            </summary>
        </member>
        <member name="M:CPF.Drawing.Color.op_Addition(CPF.Drawing.Color,CPF.Drawing.Color)">
            <summary>
             Addition operator - Adds each channel of the second color to each channel of the
             first and returns the result
            </summary>
        </member>
        <member name="M:CPF.Drawing.Color.Add(CPF.Drawing.Color,CPF.Drawing.Color)">
            <summary>
             Addition method - Adds each channel of the second color to each channel of the
             first and returns the result
            </summary>
        </member>
        <member name="M:CPF.Drawing.Color.op_Subtraction(CPF.Drawing.Color,CPF.Drawing.Color)">
            <summary>
            Subtract operator - substracts each channel of the second color from each channel of the
            first and returns the result
            </summary>
            <param name='color1'>The minuend</param>
            <param name='color2'>The subtrahend</param>
            <returns>Returns the unclamped differnce</returns>
        </member>
        <member name="M:CPF.Drawing.Color.Subtract(CPF.Drawing.Color,CPF.Drawing.Color)">
            <summary>
             Subtract method - subtracts each channel of the second color from each channel of the
             first and returns the result
            </summary>
        </member>
        <member name="M:CPF.Drawing.Color.op_Multiply(CPF.Drawing.Color,System.Single)">
            <summary>
            Multiplication operator - Multiplies each channel of the color by a coefficient and returns the result
            </summary>
            <param name='color'>The color</param>
            <param name='coefficient'>The coefficient</param>
            <returns>Returns the unclamped product</returns>
        </member>
        <member name="M:CPF.Drawing.Color.Multiply(CPF.Drawing.Color,System.Single)">
            <summary>
             乘法-每个通道的颜色乘以一个系数，并返回结果
            </summary>
        </member>
        <member name="M:CPF.Drawing.Color.Equals(CPF.Drawing.Color,CPF.Drawing.Color)">
            <summary>
             Equality method for two colors - return true of colors are equal, otherwise returns false
            </summary>
        </member>
        <member name="M:CPF.Drawing.Color.Equals(CPF.Drawing.Color)">
            <summary>
            Compares two colors for exact equality.  Note that float values can acquire error
            when operated upon, such that an exact comparison between two values which are logically
            equal may fail. see cref="AreClose" for a "fuzzy" version of this comparison.
            </summary>
            <param name='color'>The color to compare to "this"</param>
            <returns>Whether or not the two colors are equal</returns>
        </member>
        <member name="M:CPF.Drawing.Color.Equals(System.Object)">
            <summary>
            Compares two colors for exact equality.  Note that float values can acquire error
            when operated upon, such that an exact comparison between two vEquals(color);alues which are logically
            equal may fail. see cref="AreClose" for a "fuzzy" version of this comparison.
            </summary>
            <param name='o'>The object to compare to "this"</param>
            <returns>Whether or not the two colors are equal</returns>
        </member>
        <member name="M:CPF.Drawing.Color.op_Equality(CPF.Drawing.Color,CPF.Drawing.Color)">
            <summary>
             IsEqual operator - Compares two colors for exact equality.  Note that float values can acquire error
             when operated upon, such that an exact comparison between two values which are logically
             equal may fail. see cref="AreClose".
            </summary>
        </member>
        <member name="M:CPF.Drawing.Color.op_Inequality(CPF.Drawing.Color,CPF.Drawing.Color)">
            <summary>
             !=
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.A">
            <summary>
             A
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.R">
            <value>The Red channel as a byte whose range is [0..255].
            the value is not allowed to be out of range</value>
            <summary>
            R
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.G">
            <value>The Green channel as a byte whose range is [0..255].
             the value is not allowed to be out of range</value><summary>
             G
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.B">
            <value>The Blue channel as a byte whose range is [0..255].
             the value is not allowed to be out of range</value><summary>
             B
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.ScA">
            <value>The Alpha channel as a float whose range is [0..1].
             the value is allowed to be out of range</value><summary>
             ScA
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.ScR">
            <value>The Red channel as a float whose range is [0..1].
             the value is allowed to be out of range</value>
            <summary>
             ScR
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.ScG">
            <value>The Green channel as a float whose range is [0..1].
             the value is allowed to be out of range</value><summary>
             ScG
            </summary>
        </member>
        <member name="P:CPF.Drawing.Color.ScB">
            <value>The Blue channel as a float whose range is [0..1].
             the value is allowed to be out of range</value><summary>
             ScB
            </summary>
        </member>
        <member name="M:CPF.Drawing.Color.sRgbToScRgb(System.Byte)">
            <summary>
             private helper function to set context values from a color value with a set context and ScRgb values
            </summary>
        </member>
        <member name="M:CPF.Drawing.Color.ScRgbTosRgb(System.Single)">
            <summary>
             private helper function to set context values from a color value with a set context and ScRgb values
            </summary>
            
        </member>
        <member name="M:CPF.Drawing.ColorConverter.CanConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Type)">
            <summary>
            CanConvertFrom
            </summary>
        </member>
        <member name="M:CPF.Drawing.ColorConverter.CanConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Type)">
            <summary>
            TypeConverter method override.
            </summary>
            <param name="context">ITypeDescriptorContext</param>
            <param name="destinationType">Type to convert to</param>
            <returns>true if conversion is possible</returns>
        </member>
        <member name="M:CPF.Drawing.ColorConverter.ConvertFromString(System.String)">
            <summary>
             ConvertFromString
            </summary>
        </member>
        <member name="M:CPF.Drawing.ColorConverter.ConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object)">
            <summary>
            ConvertFrom - attempt to convert to a Color from the given object
            </summary>
            <exception cref="T:System.NotSupportedException">
            A NotSupportedException is thrown if the example object is null or is not a valid type
            which can be converted to a Color.
            </exception>
        </member>
        <member name="M:CPF.Drawing.ColorConverter.ConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type)">
             <summary>
             TypeConverter method implementation.
             </summary>
             <exception cref="T:System.NotSupportedException">
             An NotSupportedException is thrown if the example object is null or is not a Color,
             or if the destinationType isn't one of the valid destination types.
             </exception>
             <param name="context">ITypeDescriptorContext</param>
             <param name="culture">current culture (see CLR specs)</param>
             <param name="value">value to convert from</param>
             <param name="destinationType">Type to convert to</param>
             <returns>converted value</returns>
            <SecurityNote>
                 Critical: calls InstanceDescriptor ctor which LinkDemands
                 PublicOK: can only make an InstanceDescriptor for Color.FromArgb, not an arbitrary class/method
            </SecurityNote> 
        </member>
        <member name="T:CPF.Drawing.DrawingContext">
            <summary>
            绘图上下文
            </summary>
        </member>
        <member name="M:CPF.Drawing.DrawingContext.DrawLine(CPF.Drawing.Stroke@,CPF.Drawing.Brush,CPF.Drawing.Point@,CPF.Drawing.Point@)">
            <summary>
            绘制线条
            </summary>
            <param name="stroke"></param>
            <param name="strokeBrush"></param>
            <param name="point1"></param>
            <param name="point2"></param>
        </member>
        <member name="M:CPF.Drawing.DrawingContext.DrawRectangle(CPF.Drawing.Brush,CPF.Drawing.Stroke@,CPF.Drawing.Rect@)">
            <summary>
            绘制矩形
            </summary>
            <param name="strokeBrush"></param>
            <param name="stroke"></param>
            <param name="rect"></param>
        </member>
        <member name="M:CPF.Drawing.DrawingContext.FillRectangle(CPF.Drawing.Brush,CPF.Drawing.Rect)">
            <summary>
            填充矩形
            </summary>
            <param name="fillBrush"></param>
            <param name="rect"></param>
        </member>
        <member name="M:CPF.Drawing.DrawingContext.DrawEllipse(CPF.Drawing.Brush,CPF.Drawing.Stroke@,CPF.Drawing.Point@,System.Single@,System.Single@)">
            <summary>
            绘制椭圆
            </summary>
            <param name="strokeBrush"></param>
            <param name="stroke"></param>
            <param name="center">椭圆填充或描边的中心。</param>
            <param name="radiusX">在椭圆的 X 尺寸半径。将使用提供的半径绝对值。</param>
            <param name="radiusY">椭圆的 Y 轴半径。将使用提供的半径绝对值。</param>
        </member>
        <member name="M:CPF.Drawing.DrawingContext.FillEllipse(CPF.Drawing.Brush,CPF.Drawing.Point@,System.Single@,System.Single@)">
            <summary>
            填充椭圆
            </summary>
            <param name="fillBrush"></param>
            <param name="center"></param>
            <param name="radiusX"></param>
            <param name="radiusY"></param>
        </member>
        <member name="M:CPF.Drawing.DrawingContext.FillGeometry(CPF.Drawing.Brush,CPF.Drawing.Geometry)">
            <summary>
            填充图形
            </summary>
            <param name="fillBrush">填充笔刷</param>
            <param name="geometry"></param>
        </member>
        <member name="M:CPF.Drawing.DrawingContext.DrawPath(CPF.Drawing.Brush,CPF.Drawing.Stroke@,CPF.Drawing.PathGeometry)">
            <summary>
            绘制路径
            </summary>
            <param name="strokeBrush"></param>
            <param name="stroke"></param>
            <param name="path"></param>
        </member>
        <member name="M:CPF.Drawing.DrawingContext.FillPath(CPF.Drawing.Brush,CPF.Drawing.PathGeometry)">
            <summary>
            填充路径
            </summary>
            <param name="fillBrush"></param>
            <param name="path"></param>
        </member>
        <member name="M:CPF.Drawing.DrawingContext.DrawImage(CPF.Drawing.Image,CPF.Drawing.Rect@,CPF.Drawing.Rect@,System.Single@)">
            <summary>
            绘制图片
            </summary>
            <param name="image"></param>
            <param name="destRect"></param>
            <param name="srcRect"></param>
            <param name="opacity"></param>
        </member>
        <member name="M:CPF.Drawing.DrawingContext.DrawString(CPF.Drawing.Point@,CPF.Drawing.Brush,System.String,CPF.Drawing.Font@,CPF.Drawing.TextAlignment@,System.Single@,CPF.Drawing.TextDecoration@,System.Single@,CPF.Drawing.TextTrimming@,CPF.Drawing.Stroke@,CPF.Drawing.Brush)">
            <summary>
            绘制文字
            </summary>
            <param name="location"></param>
            <param name="fillBrush"></param>
            <param name="text"></param>
            <param name="font"></param>
            <param name="textAlignment"></param>
            <param name="maxWidth"></param>
            <param name="decoration">文本修饰，它是可添加到文本的视觉装饰（如下划线）</param>
            <param name="maxHeight"></param>
            <param name="textTrimming"></param>
            <param name="stroke">文字描边</param>
            <param name="strokeBrush">文字描边填充</param>
        </member>
        <member name="M:CPF.Drawing.DrawingContext.Clear(CPF.Drawing.Color)">
            <summary>
            清空绘图区域
            </summary>
            <param name="color"></param>
        </member>
        <member name="M:CPF.Drawing.DrawingContext.PushClip(CPF.Drawing.Rect)">
            <summary>
            设置剪辑区域
            </summary>
            <param name="rect"></param>
        </member>
        <member name="M:CPF.Drawing.DrawingContext.PopClip">
            <summary>
            删除最后一个剪辑区域
            </summary>
        </member>
        <member name="P:CPF.Drawing.DrawingContext.Transform">
            <summary>
            获取或设置2D变换
            </summary>
        </member>
        <member name="P:CPF.Drawing.DrawingContext.AntialiasMode">
            <summary>
            获取或设置抗锯齿模式
            </summary>
        </member>
        <member name="M:CPF.Drawing.DrawingContext.CreateSolidBrush(CPF.Drawing.Color)">
            <summary>
            创建纯色笔刷
            </summary>
            <param name="color"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.Drawing.DrawingContext.CreateLinearGradientBrush(CPF.Drawing.GradientStop[],CPF.Drawing.Point@,CPF.Drawing.Point@,CPF.Drawing.Matrix@)">
            <summary>
            创建渐变笔刷，需要定义2个颜色以上
            </summary>
            <param name="bcs">需要定义2个颜色以上</param>
            <param name="start">开始</param>
            <param name="end">结束</param>
            <returns></returns>
        </member>
        <member name="M:CPF.Drawing.DrawingContext.CreateTextureBrush(CPF.Drawing.Image,CPF.Drawing.WrapMode@,CPF.Drawing.Matrix@)">
            <summary>
            获取纹理笔刷
            </summary>
            <returns></returns>
        </member>
        <member name="M:CPF.Drawing.DrawingContext.CreateRadialGradientBrush(CPF.Drawing.Point@,System.Single@,CPF.Drawing.GradientStop[],CPF.Drawing.Matrix@)">
            <summary>
            创建径向渐变画笔
            </summary>
            <param name="center"></param>
            <param name="radius"></param>
            <param name="blendColors"></param>
            <param name="matrix"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.Drawing.DrawingContext.Dispose">
            <summary>
            释放资源
            </summary>
        </member>
        <member name="M:CPF.Drawing.DrawingContext.InitializeBrush(CPF.Drawing.Brush)">
            <summary>
            创建对应笔刷的适配笔刷
            </summary>
            <param name="brush"></param>
        </member>
        <member name="T:CPF.Drawing.TextTrimming">
            <summary>
            描述当文本溢出其包含框的边缘时如何修整文本。
            </summary>
        </member>
        <member name="F:CPF.Drawing.TextTrimming.None">
            <summary>
            不修整文本。
            </summary>
        </member>
        <member name="F:CPF.Drawing.TextTrimming.CharacterEllipsis">
            <summary>
            在字符边界处修整文本。 将绘制省略号 (...) 来替代剩余的文本。
            </summary>
        </member>
        <member name="T:CPF.Drawing.Shadow">
            <summary>
            定义一个阴影
            </summary>
        </member>
        <member name="P:CPF.Drawing.Shadow.HOffset">
            <summary>
            水平偏移
            </summary>
        </member>
        <member name="P:CPF.Drawing.Shadow.VOffset">
            <summary>
            垂直偏移
            </summary>
        </member>
        <member name="P:CPF.Drawing.Shadow.Blur">
            <summary>
            模糊的距离
            </summary>
        </member>
        <member name="P:CPF.Drawing.Shadow.Color">
            <summary>
            颜色
            </summary>
        </member>
        <member name="M:CPF.Drawing.DrawingFactory.CreateGeometry(CPF.Drawing.PathGeometry)">
            <summary>
            创建图形
            </summary>
            <returns></returns>
        </member>
        <member name="M:CPF.Drawing.DrawingFactory.CreatePath">
            <summary>
            创建路径
            </summary>
            <returns></returns>
        </member>
        <member name="M:CPF.Drawing.DrawingFactory.ImageFromFile(System.String)">
            <summary>
            读取文件图片
            </summary>
            <param name="path"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.Drawing.DrawingFactory.ImageFromStream(System.IO.Stream)">
            <summary>
            读取图片流
            </summary>
            <param name="stream"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.Drawing.DrawingFactory.CreateBitmap(System.Int32,System.Int32)">
            <summary>
            创建位图
            </summary>
            <param name="w"></param>
            <param name="h"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.Drawing.DrawingFactory.CreateBitmap(System.Int32,System.Int32,System.Int32,CPF.Drawing.PixelFormat,System.IntPtr)">
            <summary>
            创建位图
            </summary>
            <param name="w"></param>
            <param name="h"></param>
            <param name="pitch"></param>
            <param name="pixelFormat"></param>
            <param name="data"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.Drawing.DrawingFactory.CreateBitmap(System.IO.Stream)">
            <summary>
            创建位图
            </summary>
            <param name="stream"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.Drawing.DrawingFactory.CreateBitmap(CPF.Drawing.Image)">
            <summary>
            创建位图
            </summary>
            <param name="img"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.Drawing.DrawingFactory.CreateDrawingContext(CPF.Drawing.Bitmap)">
            <summary>
            通过图片创建绘图上下文
            </summary>
            <param name="bitmap"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.Drawing.DrawingFactory.CreateDrawingContext(CPF.Drawing.IRenderTarget)">
            <summary>
            通过窗体句柄创建绘图上下文
            </summary>
            <param name="target"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.Drawing.DrawingFactory.MeasureString(System.String,CPF.Drawing.Font)">
            <summary>
            计算文字尺寸
            </summary>
            <param name="str"></param>
            <param name="font"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.Drawing.DrawingFactory.MeasureString(System.String,CPF.Drawing.Font,System.Single)">
            <summary>
            计算文字尺寸，限定最大宽度
            </summary>
            <param name="str"></param>
            <param name="font"></param>
            <param name="width"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.Drawing.DrawingFactory.MeasureCharCount(System.String,CPF.Drawing.Font,System.Int32)">
            <summary>
            计算一行固定宽度下，该行可以放下几个字符
            </summary>
            <param name="str"></param>
            <param name="font"></param>
            <param name="width"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.Drawing.DrawingFactory.CreateFont(System.String,System.Single,CPF.Drawing.FontStyles)">
            <summary>
            创建字体
            </summary>
            <param name="fontFamily"></param>
            <param name="fontSize">像素为单位pix</param>
            <param name="fontStyle"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.Drawing.DrawingFactory.LoadFont(System.IO.Stream,System.String)">
            <summary>
            加载字体
            </summary>
            <param name="stream"></param>
            <param name="fontFamily">不设置的话，用图形引擎解析出来的名字，不同图形引擎加载同一个字体可能会有不同的名字，可以自己定义个确定的名字来避免不同名称加载不到字体的问题。</param>
        </member>
        <member name="M:CPF.Drawing.DrawingFactory.CreatePath(CPF.Drawing.Font@,System.String)">
            <summary>
            创建文字路径
            </summary>
            <param name="font"></param>
            <param name="text"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.Drawing.DrawingFactory.GetDefaultLineHeight(CPF.Drawing.Font@)">
            <summary>
            字体默认行高
            </summary>
            <param name="font"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.Drawing.Font.#ctor(System.String,System.Single,CPF.Drawing.FontStyles)">
            <summary>
            初始化字体
            </summary>
            <param name="fontfamily"></param>
            <param name="size">像素为单位px</param>
            <param name="fontstyle"></param>
        </member>
        <member name="P:CPF.Drawing.Font.DefaultLineHeight">
            <summary>
            字体默认行高
            </summary>
        </member>
        <member name="F:CPF.Drawing.FontStyles.Regular">
            <summary>
            普通文本
            </summary>
        </member>
        <member name="F:CPF.Drawing.FontStyles.Bold">
            <summary>
            加粗文本
            </summary>
        </member>
        <member name="F:CPF.Drawing.FontStyles.Italic">
            <summary>
            倾斜文本
            </summary>
        </member>
        <member name="T:CPF.Drawing.TextWrapping">
            <summary>
            是否换行
            </summary>
        </member>
        <member name="F:CPF.Drawing.TextWrapping.NoWrap">
            <summary>
            Text should not wrap.
            </summary>
        </member>
        <member name="F:CPF.Drawing.TextWrapping.Wrap">
            <summary>
            Text can wrap.
            </summary>
        </member>
        <member name="M:CPF.Drawing.Geometry.Exclude(CPF.Drawing.Geometry)">
            <summary>
            更新此 Geometry，以仅包含其内部与指定的 Geometry 不相交的部分。
            </summary>
            <param name="geometry"></param>
        </member>
        <member name="M:CPF.Drawing.Geometry.Intersect(CPF.Drawing.Geometry)">
            <summary>
            更新此 Geometry，更新为其自身与指定的 Geometry 的交集。
            </summary>
            <param name="geometry"></param>
        </member>
        <member name="M:CPF.Drawing.Geometry.Contains(CPF.Drawing.Point)">
            <summary>
            测试指定 Point 结构是否包含在此 Geometry 中。
            </summary>
            <param name="point"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.Drawing.Geometry.Union(CPF.Drawing.Geometry)">
            <summary>
            将此 Geometry 更新为其自身与指定 Geometry 的并集。
            </summary>
            <param name="geometry"></param>
        </member>
        <member name="M:CPF.Drawing.Geometry.Xor(CPF.Drawing.Geometry)">
            <summary>
            将此 geometry 更新为其自身与指定 geometry 的并集减去这两者的交集。
            </summary>
            <param name="geometry"></param>
        </member>
        <member name="M:CPF.Drawing.Geometry.GetRenderBounds">
            <summary>
            获取能容纳该 Geometry 的最小矩形
            </summary>
            <returns></returns>
        </member>
        <member name="T:CPF.Drawing.GradientStop">
            <summary>
            定义颜色渐变
            </summary>
        </member>
        <member name="M:CPF.Drawing.GradientStop.#ctor(CPF.Drawing.Color,System.Single)">
            <summary>
            初始化
            </summary>
            <param name="color">颜色</param>
            <param name="position">偏移位置 0-1</param>
        </member>
        <member name="P:CPF.Drawing.GradientStop.Position">
            <summary>
            颜色偏移位置 0-1
            </summary>
        </member>
        <member name="M:CPF.Drawing.IBitmapLockImpl.GetPixel(System.Int32@,System.Int32@,System.Byte@,System.Byte@,System.Byte@,System.Byte@)">
            <summary>
            获取颜色
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="a"></param>
            <param name="r"></param>
            <param name="g"></param>
            <param name="b"></param>
        </member>
        <member name="M:CPF.Drawing.IBitmapLockImpl.SetPixel(System.Int32@,System.Int32@,System.Byte@,System.Byte@,System.Byte@,System.Byte@)">
            <summary>
            设置像素颜色
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="a"></param>
            <param name="r"></param>
            <param name="g"></param>
            <param name="b"></param>
        </member>
        <member name="P:CPF.Drawing.IBitmapLockImpl.DataPointer">
            <summary>
            数据地址
            </summary>
        </member>
        <member name="P:CPF.Drawing.IBitmapLockImpl.PixelFormat">
            <summary>
            位图像素格式
            </summary>
        </member>
        <member name="P:CPF.Drawing.IBitmapLockImpl.AlphaType">
            <summary>
            透明数据格式
            </summary>
        </member>
        <member name="T:CPF.Drawing.PixelFormat">
            <summary>
            位图像素格式
            </summary>
        </member>
        <member name="F:CPF.Drawing.PixelFormat.PRgba">
            <summary>
            alpha premultiplied
            </summary>
        </member>
        <member name="F:CPF.Drawing.PixelFormat.PBgra">
            <summary>
            alpha premultiplied
            </summary>
        </member>
        <member name="M:CPF.Drawing.IGeometryImpl.Exclude(CPF.Drawing.Geometry)">
            <summary>
            更新此 Geometry，以仅包含其内部与指定的 Geometry 不相交的部分。
            </summary>
            <param name="geometry"></param>
        </member>
        <member name="M:CPF.Drawing.IGeometryImpl.Intersect(CPF.Drawing.Geometry)">
            <summary>
            更新此 Geometry，更新为其自身与指定的 Geometry 的交集。
            </summary>
            <param name="geometry"></param>
        </member>
        <member name="M:CPF.Drawing.IGeometryImpl.Contains(CPF.Drawing.Point)">
            <summary>
            测试指定 Point 结构是否包含在此 Geometry 中。
            </summary>
            <param name="point"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.Drawing.IGeometryImpl.Union(CPF.Drawing.Geometry)">
            <summary>
            将此 Geometry 更新为其自身与指定 Geometry 的并集。
            </summary>
            <param name="geometry"></param>
        </member>
        <member name="M:CPF.Drawing.IGeometryImpl.Xor(CPF.Drawing.Geometry)">
            <summary>
            将此 geometry 更新为其自身与指定 geometry 的并集减去这两者的交集。
            </summary>
            <param name="geometry"></param>
        </member>
        <member name="M:CPF.Drawing.IGeometryImpl.GetRenderBounds">
            <summary>
            获取能容纳该 Geometry 的最小矩形
            </summary>
            <returns></returns>
        </member>
        <member name="P:CPF.Drawing.IImage.Width">
            <summary>
            宽度
            </summary>
        </member>
        <member name="P:CPF.Drawing.IImage.Height">
            <summary>
            高度
            </summary>
        </member>
        <member name="P:CPF.Drawing.IImageImpl.FrameCount">
            <summary>
            图片帧数，比如GIF
            </summary>
        </member>
        <member name="P:CPF.Drawing.Image.Width">
            <summary>
            宽度
            </summary>
        </member>
        <member name="P:CPF.Drawing.Image.Height">
            <summary>
            高度
            </summary>
        </member>
        <member name="P:CPF.Drawing.Image.FrameCount">
            <summary>
            帧数，比如GIF
            </summary>
        </member>
        <member name="P:CPF.Drawing.Image.Index">
            <summary>
            当前选中的帧索引，GIF
            </summary>
        </member>
        <member name="P:CPF.Drawing.Image.Duration">
            <summary>
            动画时长，GIF
            </summary>
        </member>
        <member name="P:CPF.Drawing.Image.FrameDelay">
            <summary>
            GIF的每帧时长
            </summary>
        </member>
        <member name="P:CPF.Drawing.Image.NextFrame">
            <summary>
            下一帧的时间，从程序启动开始算，用于播放动画的时候使用，实现同一个Image对象，多个地方同步刷新
            </summary>
        </member>
        <member name="F:CPF.Drawing.ImageFormat.Bmp">
            <summary>
            位图 (BMP) 图像格式。
            </summary>
        </member>
        <member name="F:CPF.Drawing.ImageFormat.Gif">
            <summary>
            图形交换格式 (GIF) 图像格式。
            </summary>
        </member>
        <member name="F:CPF.Drawing.ImageFormat.Jpeg">
            <summary>
            联合图像专家组 (JPEG) 图像格式。
            </summary>
        </member>
        <member name="F:CPF.Drawing.ImageFormat.Png">
            <summary>
            W3C 可移植网络图形 (PNG) 图像格式。
            </summary>
        </member>
        <member name="T:CPF.Drawing.IPathImpl">
            <summary>
            Path内部实现接口
            </summary>
        </member>
        <member name="T:CPF.Drawing.IRenderTarget">
            <summary>
            定义一个渲染目标
            </summary>
        </member>
        <member name="T:CPF.Drawing.LinearGradientBrush">
            <summary>
            线性渐变笔刷，默认是左到右
            </summary>
        </member>
        <member name="T:CPF.Drawing.Matrix">
            <summary>
            3*3 2D变换矩阵
            </summary>
        </member>
        <member name="M:CPF.Drawing.Matrix.#ctor(System.Single,System.Single,System.Single,System.Single,System.Single,System.Single)">
            <summary>
            Creates a matrix of the form
                        / m11 scalex, m12 skewx, 0 \
                        | m21 skewy, m22 scaley, 0 |
                        \ offsetX, offsetY, 1 /
            </summary>
        </member>
        <member name="P:CPF.Drawing.Matrix.Identity">
            <summary>
            Identity
            </summary>
        </member>
        <member name="M:CPF.Drawing.Matrix.SetIdentity">
            <summary>
            Sets the matrix to identity.
            </summary>
        </member>
        <member name="P:CPF.Drawing.Matrix.IsIdentity">
            <summary>
            Tests whether or not a given transform is an identity transform
            测试给定的变换是否是恒等变换
            </summary>
        </member>
        <member name="M:CPF.Drawing.Matrix.op_Multiply(CPF.Drawing.Matrix,CPF.Drawing.Matrix)">
            <summary>
            Multiplies two transformations.
            </summary>
        </member>
        <member name="M:CPF.Drawing.Matrix.Multiply(CPF.Drawing.Matrix,CPF.Drawing.Matrix)">
            <summary>
            Multiply
            </summary>
        </member>
        <member name="M:CPF.Drawing.Matrix.Append(CPF.Drawing.Matrix)">
            <summary>
            Append - "this" becomes this * matrix, the same as this *= matrix.
            </summary>
            <param name="matrix"> The Matrix to append to this Matrix </param>
        </member>
        <member name="M:CPF.Drawing.Matrix.Prepend(CPF.Drawing.Matrix)">
            <summary>
            Prepend - "this" becomes matrix * this, the same as this = matrix * this.
            </summary>
            <param name="matrix"> The Matrix to prepend to this Matrix </param>
        </member>
        <member name="M:CPF.Drawing.Matrix.Rotate(System.Single)">
            <summary>
            Rotates this matrix about the origin
            </summary>
            <param name='angle'>The angle to rotate specifed in degrees</param>
        </member>
        <member name="M:CPF.Drawing.Matrix.RotatePrepend(System.Single)">
            <summary>
            Prepends a rotation about the origin to "this"
            </summary>
            <param name='angle'>The angle to rotate specifed in degrees</param>
        </member>
        <member name="M:CPF.Drawing.Matrix.RotateAt(System.Single,System.Single,System.Single)">
            <summary>
            Rotates this matrix about the given point
            </summary>
            <param name='angle'>The angle to rotate specifed in degrees</param>
            <param name='centerX'>The centerX of rotation</param>
            <param name='centerY'>The centerY of rotation</param>
        </member>
        <member name="M:CPF.Drawing.Matrix.RotateAtPrepend(System.Single,System.Single,System.Single)">
            <summary>
            Prepends a rotation about the given point to "this"
            </summary>
            <param name='angle'>The angle to rotate specifed in degrees</param>
            <param name='centerX'>The centerX of rotation</param>
            <param name='centerY'>The centerY of rotation</param>
        </member>
        <member name="M:CPF.Drawing.Matrix.Scale(System.Single,System.Single)">
            <summary>
            Scales this matrix around the origin
            </summary>
            <param name='scaleX'>The scale factor in the x dimension</param>
            <param name='scaleY'>The scale factor in the y dimension</param>
        </member>
        <member name="M:CPF.Drawing.Matrix.ScalePrepend(System.Single,System.Single)">
            <summary>
            Prepends a scale around the origin to "this"
            </summary>
            <param name='scaleX'>The scale factor in the x dimension</param>
            <param name='scaleY'>The scale factor in the y dimension</param>
        </member>
        <member name="M:CPF.Drawing.Matrix.ScaleAt(System.Single,System.Single,System.Single,System.Single)">
            <summary>
            Scales this matrix around the center provided
            </summary>
            <param name='scaleX'>The scale factor in the x dimension</param>
            <param name='scaleY'>The scale factor in the y dimension</param>
            <param name="centerX">The centerX about which to scale</param>
            <param name="centerY">The centerY about which to scale</param>
        </member>
        <member name="M:CPF.Drawing.Matrix.ScaleAtPrepend(System.Single,System.Single,System.Single,System.Single)">
            <summary>
            Prepends a scale around the center provided to "this"
            </summary>
            <param name='scaleX'>The scale factor in the x dimension</param>
            <param name='scaleY'>The scale factor in the y dimension</param>
            <param name="centerX">The centerX about which to scale</param>
            <param name="centerY">The centerY about which to scale</param>
        </member>
        <member name="M:CPF.Drawing.Matrix.Skew(System.Single,System.Single)">
            <summary>
            Skews this matrix
            </summary>
            <param name='skewX'>The skew angle in the x dimension in degrees</param>
            <param name='skewY'>The skew angle in the y dimension in degrees</param>
        </member>
        <member name="M:CPF.Drawing.Matrix.SkewPrepend(System.Single,System.Single)">
            <summary>
            Prepends a skew to this matrix
            </summary>
            <param name='skewX'>The skew angle in the x dimension in degrees</param>
            <param name='skewY'>The skew angle in the y dimension in degrees</param>
        </member>
        <member name="M:CPF.Drawing.Matrix.Translate(System.Single,System.Single)">
            <summary>
            Translates this matrix
            </summary>
            <param name='offsetX'>The offset in the x dimension</param>
            <param name='offsetY'>The offset in the y dimension</param>
        </member>
        <member name="M:CPF.Drawing.Matrix.TranslatePrepend(System.Single,System.Single)">
            <summary>
            Prepends a translation to this matrix
            </summary>
            <param name='offsetX'>The offset in the x dimension</param>
            <param name='offsetY'>The offset in the y dimension</param>
        </member>
        <member name="M:CPF.Drawing.Matrix.Transform(CPF.Drawing.Point)">
            <summary>
            Transform - returns the result of transforming the point by this matrix
            </summary>
            <returns>
            The transformed point
            </returns>
            <param name="point"> The Point to transform </param>
        </member>
        <member name="M:CPF.Drawing.Matrix.Transform(CPF.Drawing.Point[])">
            <summary>
            Transform - Transforms each point in the array by this matrix
            </summary>
            <param name="points"> The Point array to transform </param>
        </member>
        <member name="M:CPF.Drawing.Matrix.Transform(CPF.Drawing.Vector)">
            <summary>
            Transform - returns the result of transforming the Vector by this matrix.
            </summary>
            <returns>
            The transformed vector
            </returns>
            <param name="vector"> The Vector to transform </param>
        </member>
        <member name="M:CPF.Drawing.Matrix.Transform(CPF.Drawing.Vector[])">
            <summary>
            Transform - Transforms each Vector in the array by this matrix.
            </summary>
            <param name="vectors"> The Vector array to transform </param>
        </member>
        <member name="P:CPF.Drawing.Matrix.Determinant">
            <summary>
            The determinant of this matrix
            </summary>
        </member>
        <member name="P:CPF.Drawing.Matrix.HasInverse">
            <summary>
            HasInverse Property - returns true if this matrix is invertable, false otherwise.
            </summary>
        </member>
        <member name="M:CPF.Drawing.Matrix.Invert">
            <summary>
            Replaces matrix with the inverse of the transformation.  This will throw an InvalidOperationException
            if !HasInverse
            </summary>
            <exception cref="T:System.InvalidOperationException">
            This will throw an InvalidOperationException if the matrix is non-invertable
            </exception>
        </member>
        <member name="P:CPF.Drawing.Matrix.M11">
            <summary>
            M11 scalex
            </summary>
        </member>
        <member name="P:CPF.Drawing.Matrix.M12">
            <summary>
            M12 skewy
            </summary>
        </member>
        <member name="P:CPF.Drawing.Matrix.M21">
            <summary>
            M22 skewx
            </summary>
        </member>
        <member name="P:CPF.Drawing.Matrix.M22">
            <summary>
            M22 scaley
            </summary>
        </member>
        <member name="P:CPF.Drawing.Matrix.OffsetX">
            <summary>
            OffsetX
            </summary>
        </member>
        <member name="P:CPF.Drawing.Matrix.OffsetY">
            <summary>
            OffsetY
            </summary>
        </member>
        <member name="M:CPF.Drawing.Matrix.MultiplyVector(System.Single@,System.Single@)">
            <summary>
            MultiplyVector
            </summary>
        </member>
        <member name="M:CPF.Drawing.Matrix.MultiplyPoint(System.Single@,System.Single@)">
            <summary>
            MultiplyPoint
            </summary>
        </member>
        <member name="M:CPF.Drawing.Matrix.CreateRotationRadians(System.Single)">
            <summary>
            Creates a rotation transformation about the given point
            </summary>
            <param name='angle'>The angle to rotate specifed in radians</param>
        </member>
        <member name="M:CPF.Drawing.Matrix.CreateRotationRadians(System.Single,System.Single,System.Single)">
            <summary>
            Creates a rotation transformation about the given point
            </summary>
            <param name='angle'>The angle to rotate specifed in radians</param>
            <param name='centerX'>The centerX of rotation</param>
            <param name='centerY'>The centerY of rotation</param>
        </member>
        <member name="M:CPF.Drawing.Matrix.CreateScaling(System.Single,System.Single,System.Single,System.Single)">
            <summary>
            Creates a scaling transform around the given point
            </summary>
            <param name='scaleX'>The scale factor in the x dimension</param>
            <param name='scaleY'>The scale factor in the y dimension</param>
            <param name='centerX'>The centerX of scaling</param>
            <param name='centerY'>The centerY of scaling</param>
        </member>
        <member name="M:CPF.Drawing.Matrix.CreateScaling(System.Single,System.Single)">
            <summary>
            Creates a scaling transform around the origin
            </summary>
            <param name='scaleX'>The scale factor in the x dimension</param>
            <param name='scaleY'>The scale factor in the y dimension</param>
        </member>
        <member name="M:CPF.Drawing.Matrix.CreateSkewRadians(System.Single,System.Single)">
            <summary>
            Creates a skew transform
            </summary>
            <param name='skewX'>The skew angle in the x dimension in degrees</param>
            <param name='skewY'>The skew angle in the y dimension in degrees</param>
        </member>
        <member name="M:CPF.Drawing.Matrix.CreateTranslation(System.Single,System.Single)">
            <summary>
            Sets the transformation to the given translation specified by the offset vector.
            </summary>
            <param name='offsetX'>The offset in X</param>
            <param name='offsetY'>The offset in Y</param>
        </member>
        <member name="M:CPF.Drawing.Matrix.CreateTranslation(CPF.Drawing.Vector)">
            <summary>
            Creates a translation matrix from the given vector.
            </summary>
            <param name="position">The translation position.</param>
            <returns>A translation matrix.</returns>
        </member>
        <member name="M:CPF.Drawing.Matrix.CreateIdentity">
            <summary>
            Sets the transformation to the identity.
            </summary>
        </member>
        <member name="M:CPF.Drawing.Matrix.SetMatrix(System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,CPF.Drawing.MatrixTypes)">
            <summary>
             Sets the transform to
                         / m11, m12, 0 \
                         | m21, m22, 0 |
                         \ offsetX, offsetY, 1 /
             where offsetX, offsetY is the translation.
            </summary>
        </member>
        <member name="M:CPF.Drawing.Matrix.DeriveMatrixType">
            <summary>
            Set the type of the matrix based on its current contents
            </summary>
        </member>
        <member name="P:CPF.Drawing.Matrix.IsDistinguishedIdentity">
            <summary>
            Efficient but conservative test for identity.  Returns
            true if the the matrix is identity.  If it returns false
            the matrix may still be identity.
            </summary>
        </member>
        <member name="M:CPF.Drawing.Matrix.op_Equality(CPF.Drawing.Matrix,CPF.Drawing.Matrix)">
            <summary>
            Compares two Matrix instances for exact equality.
            Note that float values can acquire error when operated upon, such that
            an exact comparison between two values which are logically equal may fail.
            Furthermore, using this equality operator, float.NaN is not equal to itself.
            </summary>
            <returns>
            bool - true if the two Matrix instances are exactly equal, false otherwise
            </returns>
            <param name='matrix1'>The first Matrix to compare</param>
            <param name='matrix2'>The second Matrix to compare</param>
        </member>
        <member name="M:CPF.Drawing.Matrix.op_Inequality(CPF.Drawing.Matrix,CPF.Drawing.Matrix)">
            <summary>
            Compares two Matrix instances for exact inequality.
            Note that float values can acquire error when operated upon, such that
            an exact comparison between two values which are logically equal may fail.
            Furthermore, using this equality operator, float.NaN is not equal to itself.
            </summary>
            <returns>
            bool - true if the two Matrix instances are exactly unequal, false otherwise
            </returns>
            <param name='matrix1'>The first Matrix to compare</param>
            <param name='matrix2'>The second Matrix to compare</param>
        </member>
        <member name="M:CPF.Drawing.Matrix.Equals(CPF.Drawing.Matrix,CPF.Drawing.Matrix)">
            <summary>
            Compares two Matrix instances for object equality.  In this equality
            float.NaN is equal to itself, unlike in numeric equality.
            Note that float values can acquire error when operated upon, such that
            an exact comparison between two values which
            are logically equal may fail.
            </summary>
            <returns>
            bool - true if the two Matrix instances are exactly equal, false otherwise
            </returns>
            <param name='matrix1'>The first Matrix to compare</param>
            <param name='matrix2'>The second Matrix to compare</param>
        </member>
        <member name="M:CPF.Drawing.Matrix.Equals(System.Object)">
            <summary>
            Equals - compares this Matrix with the passed in object.  In this equality
            float.NaN is equal to itself, unlike in numeric equality.
            Note that float values can acquire error when operated upon, such that
            an exact comparison between two values which
            are logically equal may fail.
            </summary>
            <returns>
            bool - true if the object is an instance of Matrix and if it's equal to "this".
            </returns>
            <param name='o'>The object to compare to "this"</param>
        </member>
        <member name="M:CPF.Drawing.Matrix.Equals(CPF.Drawing.Matrix)">
            <summary>
            Equals - compares this Matrix with the passed in object.  In this equality
            float.NaN is equal to itself, unlike in numeric equality.
            Note that float values can acquire error when operated upon, such that
            an exact comparison between two values which
            are logically equal may fail.
            </summary>
            <returns>
            bool - true if "value" is equal to "this".
            </returns>
            <param name='value'>The Matrix to compare to "this"</param>
        </member>
        <member name="M:CPF.Drawing.Matrix.GetHashCode">
            <summary>
            Returns the HashCode for this Matrix
            </summary>
            <returns>
            int - the HashCode for this Matrix
            </returns>
        </member>
        <member name="M:CPF.Drawing.Matrix.ToString">
            <summary>
            Creates a string representation of this object based on the current culture.
            </summary>
            <returns>
            A string representation of this object.
            </returns>
        </member>
        <member name="M:CPF.Drawing.Matrix.ToString(System.IFormatProvider)">
            <summary>
            Creates a string representation of this object based on the IFormatProvider
            passed in.  If the provider is null, the CurrentCulture is used.
            </summary>
            <returns>
            A string representation of this object.
            </returns>
        </member>
        <member name="M:CPF.Drawing.Matrix.System#IFormattable#ToString(System.String,System.IFormatProvider)">
            <summary>
            Creates a string representation of this object based on the format string
            and IFormatProvider passed in.
            If the provider is null, the CurrentCulture is used.
            See the documentation for IFormattable for more information.
            </summary>
            <returns>
            A string representation of this object.
            </returns>
        </member>
        <member name="M:CPF.Drawing.Matrix.ConvertToString(System.String,System.IFormatProvider)">
            <summary>
            Creates a string representation of this object based on the format string
            and IFormatProvider passed in.
            If the provider is null, the CurrentCulture is used.
            See the documentation for IFormattable for more information.
            </summary>
            <returns>
            A string representation of this object.
            </returns>
        </member>
        <member name="M:CPF.Drawing.MatrixUtil.TransformRect(CPF.Drawing.Rect@,CPF.Drawing.Matrix@)">
            <summary>
            TransformRect - Internal helper for perf
            </summary>
            <param name="rect"> The Rect to transform. </param>
            <param name="matrix"> The Matrix with which to transform the Rect. </param>
        </member>
        <member name="M:CPF.Drawing.MatrixUtil.MultiplyMatrix(CPF.Drawing.Matrix@,CPF.Drawing.Matrix@)">
            <summary>
            Multiplies two transformations, where the behavior is matrix1 *= matrix2.
            This code exists so that we can efficient combine matrices without copying
            the data around, since each matrix is 52 bytes.
            To reduce duplication and to ensure consistent behavior, this is the
            method which is used to implement Matrix * Matrix as well.
            </summary>
        </member>
        <member name="M:CPF.Drawing.MatrixUtil.PrependOffset(CPF.Drawing.Matrix@,System.Single,System.Single)">
            <summary>
            Applies an offset to the specified matrix in place.
            </summary>
        </member>
        <member name="T:CPF.Drawing.Media3D.Matrix3D">
             <summary>
             3D Matrix.
             The matrix is represented in the following row-vector syntax form:
            
             [ m11      m12      m13      m14 ]
             [ m21      m22      m23      m24 ]
             [ m31      m32      m33      m34 ]
             [ offsetX  offsetY  offsetZ  m44 ]
            
             Note that since the fourth column is also accessible, the matrix allows one to
             represent affine as well as non-affine transforms.
             Matrices can be appended or prepended to other matrices. Appending A to B denotes
             a transformation by B and then by A - i.e. A(B(...)), whereas prepending A to B denotes a
             transformation by A and then by B - i.e. B(A(...)). Thus for example if we want to
             transform point P by A and then by B, we append B to A:
             C = A.Append(B)
             P' = C.Transform(P)
             </summary>
        </member>
        <member name="M:CPF.Drawing.Media3D.Matrix3D.#ctor(System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single)">
            <summary>
            Constructor that sets matrix's initial values.
            </summary>
            <param name="m11">Value of the (1,1) field of the new matrix.</param>
            <param name="m12">Value of the (1,2) field of the new matrix.</param>
            <param name="m13">Value of the (1,3) field of the new matrix.</param>
            <param name="m14">Value of the (1,4) field of the new matrix.</param>
            <param name="m21">Value of the (2,1) field of the new matrix.</param>
            <param name="m22">Value of the (2,2) field of the new matrix.</param>
            <param name="m23">Value of the (2,3) field of the new matrix.</param>
            <param name="m24">Value of the (2,4) field of the new matrix.</param>
            <param name="m31">Value of the (3,1) field of the new matrix.</param>
            <param name="m32">Value of the (3,2) field of the new matrix.</param>
            <param name="m33">Value of the (3,3) field of the new matrix.</param>
            <param name="m34">Value of the (3,4) field of the new matrix.</param>
            <param name="offsetX">Value of the X offset field of the new matrix.</param>
            <param name="offsetY">Value of the Y offset field of the new matrix.</param>
            <param name="offsetZ">Value of the Z offset field of the new matrix.</param>
            <param name="m44">Value of the (4,4) field of the new matrix.</param>
        </member>
        <member name="P:CPF.Drawing.Media3D.Matrix3D.Identity">
            <summary>
            Returns identity matrix.
            </summary>
        </member>
        <member name="M:CPF.Drawing.Media3D.Matrix3D.SetIdentity">
            <summary>
            Sets matrix to identity.
            </summary>
        </member>
        <member name="P:CPF.Drawing.Media3D.Matrix3D.IsIdentity">
            <summary>
            Returns whether the matrix is identity.
            </summary>
        </member>
        <member name="M:CPF.Drawing.Media3D.Matrix3D.Prepend(CPF.Drawing.Media3D.Matrix3D)">
            <summary>
            Prepends the given matrix to the current matrix.
            </summary>
            <param name="matrix">Matrix to prepend.</param>
        </member>
        <member name="M:CPF.Drawing.Media3D.Matrix3D.Append(CPF.Drawing.Media3D.Matrix3D)">
            <summary>
            Appends the given matrix to the current matrix.
            </summary>
            <param name="matrix">Matrix to append.</param>
        </member>
        <member name="M:CPF.Drawing.Media3D.Matrix3D.Rotate(CPF.Drawing.Media3D.Quaternion)">
            <summary>
            Appends rotation transform to the current matrix.
            </summary>
            <param name="quaternion">Quaternion representing rotation.</param>
        </member>
        <member name="M:CPF.Drawing.Media3D.Matrix3D.RotatePrepend(CPF.Drawing.Media3D.Quaternion)">
            <summary>
            Prepends rotation transform to the current matrix.
            </summary>
            <param name="quaternion">Quaternion representing rotation.</param>
        </member>
        <member name="M:CPF.Drawing.Media3D.Matrix3D.RotateAt(CPF.Drawing.Media3D.Quaternion,CPF.Drawing.Media3D.Point3D)">
            <summary>
            Appends rotation transform to the current matrix.
            </summary>
            <param name="quaternion">Quaternion representing rotation.</param>
            <param name="center">Center to rotate around.</param>
        </member>
        <member name="M:CPF.Drawing.Media3D.Matrix3D.RotateAtPrepend(CPF.Drawing.Media3D.Quaternion,CPF.Drawing.Media3D.Point3D)">
            <summary>
            Prepends rotation transform to the current matrix.
            </summary>
            <param name="quaternion">Quaternion representing rotation.</param>
            <param name="center">Center to rotate around.</param>
        </member>
        <member name="M:CPF.Drawing.Media3D.Matrix3D.Scale(CPF.Drawing.Media3D.Vector3D)">
            <summary>
            Appends scale transform to the current matrix.
            </summary>
            <param name="scale">Scaling vector for transformation.</param>
        </member>
        <member name="M:CPF.Drawing.Media3D.Matrix3D.ScalePrepend(CPF.Drawing.Media3D.Vector3D)">
            <summary>
            Prepends scale transform to the current matrix.
            </summary>
            <param name="scale">Scaling vector for transformation.</param>
        </member>
        <member name="M:CPF.Drawing.Media3D.Matrix3D.ScaleAt(CPF.Drawing.Media3D.Vector3D,CPF.Drawing.Media3D.Point3D)">
            <summary>
            Appends scale transform to the current matrix.
            </summary>
            <param name="scale">Scaling vector for transformation.</param>
            <param name="center">Point around which to scale.</param>
        </member>
        <member name="M:CPF.Drawing.Media3D.Matrix3D.ScaleAtPrepend(CPF.Drawing.Media3D.Vector3D,CPF.Drawing.Media3D.Point3D)">
            <summary>
            Prepends scale transform to the current matrix.
            </summary>
            <param name="scale">Scaling vector for transformation.</param>
            <param name="center">Point around which to scale.</param>
        </member>
        <member name="M:CPF.Drawing.Media3D.Matrix3D.Translate(CPF.Drawing.Media3D.Vector3D)">
            <summary>
            Appends translation transform to the current matrix.
            </summary>
            <param name="offset">Offset vector for transformation.</param>
        </member>
        <member name="M:CPF.Drawing.Media3D.Matrix3D.TranslatePrepend(CPF.Drawing.Media3D.Vector3D)">
            <summary>
            Prepends translation transform to the current matrix.
            </summary>
            <param name="offset">Offset vector for transformation.</param>
        </member>
        <member name="M:CPF.Drawing.Media3D.Matrix3D.op_Multiply(CPF.Drawing.Media3D.Matrix3D,CPF.Drawing.Media3D.Matrix3D)">
            <summary>
            Matrix multiplication.
            </summary>
            <param name="matrix1">Matrix to multiply.</param>
            <param name="matrix2">Matrix by which the first matrix is multiplied.</param>
            <returns>Result of multiplication.</returns>
        </member>
        <member name="M:CPF.Drawing.Media3D.Matrix3D.Multiply(CPF.Drawing.Media3D.Matrix3D,CPF.Drawing.Media3D.Matrix3D)">
            <summary>
            Matrix multiplication.
            </summary>
            <param name="matrix1">Matrix to multiply.</param>
            <param name="matrix2">Matrix by which the first matrix is multiplied.</param>
            <returns>Result of multiplication.</returns>
        </member>
        <member name="M:CPF.Drawing.Media3D.Matrix3D.Transform(CPF.Drawing.Media3D.Point3D)">
            <summary>
             Transforms the given Point3D by this matrix, projecting the
             result back into the W=1 plane.
             通过此矩阵变换给定的 Point3D, 将结果投影回 W=1 平面。
            </summary>
            <param name="point">Point to transform.</param>
            <returns>Transformed point.</returns>
        </member>
        <member name="M:CPF.Drawing.Media3D.Matrix3D.Transform(CPF.Drawing.Media3D.Point3D[])">
            <summary>
            Transforms the given Point3Ds by this matrix, projecting the
            results back into the W=1 plane.
            </summary>
            <param name="points">Points to transform.</param>
        </member>
        <member name="M:CPF.Drawing.Media3D.Matrix3D.Transform(CPF.Drawing.Media3D.Vector3D)">
            <summary>
            Transforms the given vector by the current matrix.
            </summary>
            <param name="vector">Vector to transform.</param>
            <returns>Transformed vector.</returns>
        </member>
        <member name="M:CPF.Drawing.Media3D.Matrix3D.Transform(CPF.Drawing.Media3D.Vector3D[])">
            <summary>
            Transforms the given vectors by the current matrix.
            </summary>
            <param name="vectors">Vectors to transform.</param>
        </member>
        <member name="P:CPF.Drawing.Media3D.Matrix3D.IsAffine">
            <summary>
            Determines whether the matrix is affine.
            </summary>
        </member>
        <member name="P:CPF.Drawing.Media3D.Matrix3D.Determinant">
            <summary>
            Matrix determinant.
            </summary>
        </member>
        <member name="P:CPF.Drawing.Media3D.Matrix3D.HasInverse">
            <summary>
            Whether the matrix has an inverse.
            </summary>
        </member>
        <member name="M:CPF.Drawing.Media3D.Matrix3D.Invert">
            <summary>
            Computes, and substitutes in-place, the inverse of a matrix.
            The determinant of the matrix must be nonzero, otherwise the matrix is not invertible.
            In this case it will throw InvalidOperationException exception.
            反转矩阵
            </summary>
            <exception cref="T:System.InvalidOperationException">
                This will throw InvalidOperationException if the matrix is not invertible.
            </exception>
        </member>
        <member name="P:CPF.Drawing.Media3D.Matrix3D.M11">
            <summary>
            Retrieves or sets (1,1) value of the matrix.
            </summary>
        </member>
        <member name="P:CPF.Drawing.Media3D.Matrix3D.M12">
            <summary>
            Retrieves or sets (1,2) value of the matrix.
            </summary>
        </member>
        <member name="P:CPF.Drawing.Media3D.Matrix3D.M13">
            <summary>
            Retrieves or sets (1,3) value of the matrix.
            </summary>
        </member>
        <member name="P:CPF.Drawing.Media3D.Matrix3D.M14">
            <summary>
            Retrieves or sets (1,4) value of the matrix.
            </summary>
        </member>
        <member name="P:CPF.Drawing.Media3D.Matrix3D.M21">
            <summary>
            Retrieves or sets (2,1) value of the matrix.
            </summary>
        </member>
        <member name="P:CPF.Drawing.Media3D.Matrix3D.M22">
            <summary>
            Retrieves or sets (2,2) value of the matrix.
            </summary>
        </member>
        <member name="P:CPF.Drawing.Media3D.Matrix3D.M23">
            <summary>
            Retrieves or sets (2,3) value of the matrix.
            </summary>
        </member>
        <member name="P:CPF.Drawing.Media3D.Matrix3D.M24">
            <summary>
            Retrieves or sets (2,4) value of the matrix.
            </summary>
        </member>
        <member name="P:CPF.Drawing.Media3D.Matrix3D.M31">
            <summary>
            Retrieves or sets (3,1) value of the matrix.
            </summary>
        </member>
        <member name="P:CPF.Drawing.Media3D.Matrix3D.M32">
            <summary>
            Retrieves or sets (3,2) value of the matrix.
            </summary>
        </member>
        <member name="P:CPF.Drawing.Media3D.Matrix3D.M33">
            <summary>
            Retrieves or sets (3,3) value of the matrix.
            </summary>
        </member>
        <member name="P:CPF.Drawing.Media3D.Matrix3D.M34">
            <summary>
            Retrieves or sets (3,4) value of the matrix.
            </summary>
        </member>
        <member name="P:CPF.Drawing.Media3D.Matrix3D.OffsetX">
            <summary>
            Retrieves or sets X offset of the matrix.
            </summary>
        </member>
        <member name="P:CPF.Drawing.Media3D.Matrix3D.OffsetY">
            <summary>
            Retrieves or sets Y offset of the matrix.
            </summary>
        </member>
        <member name="P:CPF.Drawing.Media3D.Matrix3D.OffsetZ">
            <summary>
            Retrieves or sets Z offset of the matrix.
            </summary>
        </member>
        <member name="P:CPF.Drawing.Media3D.Matrix3D.M44">
            <summary>
            Retrieves or sets (4,4) value of the matrix.
            </summary>
        </member>
        <member name="M:CPF.Drawing.Media3D.Matrix3D.op_Equality(CPF.Drawing.Media3D.Matrix3D,CPF.Drawing.Media3D.Matrix3D)">
            <summary>
            Compares two Matrix3D instances for exact equality.
            Note that float values can acquire error when operated upon, such that
            an exact comparison between two values which are logically equal may fail.
            Furthermore, using this equality operator, Double.NaN is not equal to itself.
            </summary>
            <returns>
            bool - true if the two Matrix3D instances are exactly equal, false otherwise
            </returns>
            <param name='matrix1'>The first Matrix3D to compare</param>
            <param name='matrix2'>The second Matrix3D to compare</param>
        </member>
        <member name="M:CPF.Drawing.Media3D.Matrix3D.op_Inequality(CPF.Drawing.Media3D.Matrix3D,CPF.Drawing.Media3D.Matrix3D)">
            <summary>
            Compares two Matrix3D instances for exact inequality.
            Note that float values can acquire error when operated upon, such that
            an exact comparison between two values which are logically equal may fail.
            Furthermore, using this equality operator, Double.NaN is not equal to itself.
            </summary>
            <returns>
            bool - true if the two Matrix3D instances are exactly unequal, false otherwise
            </returns>
            <param name='matrix1'>The first Matrix3D to compare</param>
            <param name='matrix2'>The second Matrix3D to compare</param>
        </member>
        <member name="M:CPF.Drawing.Media3D.Matrix3D.Equals(CPF.Drawing.Media3D.Matrix3D,CPF.Drawing.Media3D.Matrix3D)">
            <summary>
            Compares two Matrix3D instances for object equality.  In this equality
            Double.NaN is equal to itself, unlike in numeric equality.
            Note that float values can acquire error when operated upon, such that
            an exact comparison between two values which
            are logically equal may fail.
            </summary>
            <returns>
            bool - true if the two Matrix3D instances are exactly equal, false otherwise
            </returns>
            <param name='matrix1'>The first Matrix3D to compare</param>
            <param name='matrix2'>The second Matrix3D to compare</param>
        </member>
        <member name="M:CPF.Drawing.Media3D.Matrix3D.Equals(System.Object)">
            <summary>
            Equals - compares this Matrix3D with the passed in object.  In this equality
            Double.NaN is equal to itself, unlike in numeric equality.
            Note that float values can acquire error when operated upon, such that
            an exact comparison between two values which
            are logically equal may fail.
            </summary>
            <returns>
            bool - true if the object is an instance of Matrix3D and if it's equal to "this".
            </returns>
            <param name='o'>The object to compare to "this"</param>
        </member>
        <member name="M:CPF.Drawing.Media3D.Matrix3D.Equals(CPF.Drawing.Media3D.Matrix3D)">
            <summary>
            Equals - compares this Matrix3D with the passed in object.  In this equality
            Double.NaN is equal to itself, unlike in numeric equality.
            Note that float values can acquire error when operated upon, such that
            an exact comparison between two values which
            are logically equal may fail.
            </summary>
            <returns>
            bool - true if "value" is equal to "this".
            </returns>
            <param name='value'>The Matrix3D to compare to "this"</param>
        </member>
        <member name="M:CPF.Drawing.Media3D.Matrix3D.GetHashCode">
            <summary>
            Returns the HashCode for this Matrix3D
            </summary>
            <returns>
            int - the HashCode for this Matrix3D
            </returns>
        </member>
        <member name="T:CPF.Drawing.Media3D.Point3D">
            <summary>
            Point3D - 3D point representation. 
            Defaults to (0,0,0).
            </summary>
        </member>
        <member name="M:CPF.Drawing.Media3D.Point3D.#ctor(System.Single,System.Single,System.Single)">
            <summary>
            Constructor that sets point's initial values.
            </summary>
            <param name="x">Value of the X coordinate of the new point.</param>
            <param name="y">Value of the Y coordinate of the new point.</param>
            <param name="z">Value of the Z coordinate of the new point.</param>
        </member>
        <member name="M:CPF.Drawing.Media3D.Point3D.Offset(System.Single,System.Single,System.Single)">
            <summary>
            Offset - update point position by adding offsetX to X, offsetY to Y, and offsetZ to Z.
            </summary>
            <param name="offsetX">Offset in the X direction.</param>
            <param name="offsetY">Offset in the Y direction.</param>
            <param name="offsetZ">Offset in the Z direction.</param>
        </member>
        <member name="M:CPF.Drawing.Media3D.Point3D.op_Addition(CPF.Drawing.Media3D.Point3D,CPF.Drawing.Media3D.Vector3D)">
            <summary>
            Point3D + Vector3D addition.
            </summary>
            <param name="point">Point being added.</param>
            <param name="vector">Vector being added.</param>
            <returns>Result of addition.</returns>
        </member>
        <member name="M:CPF.Drawing.Media3D.Point3D.Add(CPF.Drawing.Media3D.Point3D,CPF.Drawing.Media3D.Vector3D)">
            <summary>
            Point3D + Vector3D addition.
            </summary>
            <param name="point">Point being added.</param>
            <param name="vector">Vector being added.</param>
            <returns>Result of addition.</returns>
        </member>
        <member name="M:CPF.Drawing.Media3D.Point3D.op_Subtraction(CPF.Drawing.Media3D.Point3D,CPF.Drawing.Media3D.Vector3D)">
            <summary>
            Point3D - Vector3D subtraction.
            </summary>
            <param name="point">Point from which vector is being subtracted.</param>
            <param name="vector">Vector being subtracted from the point.</param>
            <returns>Result of subtraction.</returns>
        </member>
        <member name="M:CPF.Drawing.Media3D.Point3D.Subtract(CPF.Drawing.Media3D.Point3D,CPF.Drawing.Media3D.Vector3D)">
            <summary>
            Point3D - Vector3D subtraction.
            </summary>
            <param name="point">Point from which vector is being subtracted.</param>
            <param name="vector">Vector being subtracted from the point.</param>
            <returns>Result of subtraction.</returns>
        </member>
        <member name="M:CPF.Drawing.Media3D.Point3D.op_Subtraction(CPF.Drawing.Media3D.Point3D,CPF.Drawing.Media3D.Point3D)">
            <summary>
            Subtraction.
            </summary>
            <param name="point1">Point from which we are subtracting the second point.</param>
            <param name="point2">Point being subtracted.</param>
            <returns>Vector between the two points.</returns>
        </member>
        <member name="M:CPF.Drawing.Media3D.Point3D.Subtract(CPF.Drawing.Media3D.Point3D,CPF.Drawing.Media3D.Point3D)">
            <summary>
            Subtraction.
            </summary>
            <param name="point1">Point from which we are subtracting the second point.</param>
            <param name="point2">Point being subtracted.</param>
            <returns>Vector between the two points.</returns>
        </member>
        <member name="M:CPF.Drawing.Media3D.Point3D.Subtract(CPF.Drawing.Media3D.Point3D@,CPF.Drawing.Media3D.Point3D@,CPF.Drawing.Media3D.Vector3D@)">
             <summary>
             Faster internal version of Subtract that avoids copies
            
             p1 and p2 to a passed by ref for perf and ARE NOT MODIFIED
             </summary>
        </member>
        <member name="M:CPF.Drawing.Media3D.Point3D.op_Multiply(CPF.Drawing.Media3D.Point3D,CPF.Drawing.Media3D.Matrix3D)">
            <summary>
            Point3D * Matrix3D multiplication.
            </summary>
            <param name="point">Point being transformed.</param>
            <param name="matrix">Transformation matrix applied to the point.</param>
            <returns>Result of the transformation matrix applied to the point.</returns>
        </member>
        <member name="M:CPF.Drawing.Media3D.Point3D.Multiply(CPF.Drawing.Media3D.Point3D,CPF.Drawing.Media3D.Matrix3D)">
            <summary>
            Point3D * Matrix3D multiplication.
            </summary>
            <param name="point">Point being transformed.</param>
            <param name="matrix">Transformation matrix applied to the point.</param>
            <returns>Result of the transformation matrix applied to the point.</returns>
        </member>
        <member name="M:CPF.Drawing.Media3D.Point3D.op_Explicit(CPF.Drawing.Media3D.Point3D)~CPF.Drawing.Media3D.Vector3D">
            <summary>
            Explicit conversion to Vector3D.
            </summary>
            <param name="point">Given point.</param>
            <returns>Vector representing the point.</returns>
        </member>
        <member name="M:CPF.Drawing.Media3D.Point3D.op_Equality(CPF.Drawing.Media3D.Point3D,CPF.Drawing.Media3D.Point3D)">
            <summary>
            Compares two Point3D instances for exact equality.
            Note that float values can acquire error when operated upon, such that
            an exact comparison between two values which are logically equal may fail.
            Furthermore, using this equality operator, Double.NaN is not equal to itself.
            </summary>
            <returns>
            bool - true if the two Point3D instances are exactly equal, false otherwise
            </returns>
            <param name='point1'>The first Point3D to compare</param>
            <param name='point2'>The second Point3D to compare</param>
        </member>
        <member name="M:CPF.Drawing.Media3D.Point3D.op_Inequality(CPF.Drawing.Media3D.Point3D,CPF.Drawing.Media3D.Point3D)">
            <summary>
            Compares two Point3D instances for exact inequality.
            Note that float values can acquire error when operated upon, such that
            an exact comparison between two values which are logically equal may fail.
            Furthermore, using this equality operator, Double.NaN is not equal to itself.
            </summary>
            <returns>
            bool - true if the two Point3D instances are exactly unequal, false otherwise
            </returns>
            <param name='point1'>The first Point3D to compare</param>
            <param name='point2'>The second Point3D to compare</param>
        </member>
        <member name="M:CPF.Drawing.Media3D.Point3D.Equals(CPF.Drawing.Media3D.Point3D,CPF.Drawing.Media3D.Point3D)">
            <summary>
            Compares two Point3D instances for object equality.  In this equality
            Double.NaN is equal to itself, unlike in numeric equality.
            Note that float values can acquire error when operated upon, such that
            an exact comparison between two values which
            are logically equal may fail.
            </summary>
            <returns>
            bool - true if the two Point3D instances are exactly equal, false otherwise
            </returns>
            <param name='point1'>The first Point3D to compare</param>
            <param name='point2'>The second Point3D to compare</param>
        </member>
        <member name="M:CPF.Drawing.Media3D.Point3D.Equals(System.Object)">
            <summary>
            Equals - compares this Point3D with the passed in object.  In this equality
            Double.NaN is equal to itself, unlike in numeric equality.
            Note that float values can acquire error when operated upon, such that
            an exact comparison between two values which
            are logically equal may fail.
            </summary>
            <returns>
            bool - true if the object is an instance of Point3D and if it's equal to "this".
            </returns>
            <param name='o'>The object to compare to "this"</param>
        </member>
        <member name="M:CPF.Drawing.Media3D.Point3D.Equals(CPF.Drawing.Media3D.Point3D)">
            <summary>
            Equals - compares this Point3D with the passed in object.  In this equality
            Double.NaN is equal to itself, unlike in numeric equality.
            Note that float values can acquire error when operated upon, such that
            an exact comparison between two values which
            are logically equal may fail.
            </summary>
            <returns>
            bool - true if "value" is equal to "this".
            </returns>
            <param name='value'>The Point3D to compare to "this"</param>
        </member>
        <member name="M:CPF.Drawing.Media3D.Point3D.GetHashCode">
            <summary>
            Returns the HashCode for this Point3D
            </summary>
            <returns>
            int - the HashCode for this Point3D
            </returns>
        </member>
        <member name="P:CPF.Drawing.Media3D.Point3D.X">
            <summary>
                X - float.  Default value is 0.
            </summary>
        </member>
        <member name="P:CPF.Drawing.Media3D.Point3D.Y">
            <summary>
                Y - float.  Default value is 0.
            </summary>
        </member>
        <member name="P:CPF.Drawing.Media3D.Point3D.Z">
            <summary>
                Z - float.  Default value is 0.
            </summary>
        </member>
        <member name="M:CPF.Drawing.Media3D.Point3D.ToString">
            <summary>
            Creates a string representation of this object based on the current culture.
            </summary>
            <returns>
            A string representation of this object.
            </returns>
        </member>
        <member name="T:CPF.Drawing.Media3D.Quaternion">
            <summary>
            Quaternions.
            Quaternions are distinctly 3D entities that represent rotation in three dimensions.
            Their power comes in being able to interpolate (and thus animate) between 
            quaternions to achieve a smooth, reliable interpolation.
            The default quaternion is the identity.
            四元数。
            四元数是明显 3D 实体表示在三维空间中的旋转。
            他们的力量是能够之间内插 （并因此进行动画处理）
            四元数来实现一种平稳、 可靠的插值方法。
            默认四元数是恒等变换
            </summary>
        </member>
        <member name="M:CPF.Drawing.Media3D.Quaternion.#ctor(System.Single,System.Single,System.Single,System.Single)">
            <summary>
            Constructor that sets quaternion's initial values.
            </summary>
            <param name="x">Value of the X coordinate of the new quaternion.</param>
            <param name="y">Value of the Y coordinate of the new quaternion.</param>
            <param name="z">Value of the Z coordinate of the new quaternion.</param>
            <param name="w">Value of the W coordinate of the new quaternion.</param>
        </member>
        <member name="M:CPF.Drawing.Media3D.Quaternion.#ctor(CPF.Drawing.Media3D.Vector3D,System.Single)">
            <summary>
            Constructs a quaternion via specified axis of rotation and an angle.
            Throws an InvalidOperationException if given (0,0,0) as axis vector.
            </summary>
            <param name="axisOfRotation">Vector representing axis of rotation.</param>
            <param name="angleInDegrees">Angle to turn around the given axis (in degrees).</param>
        </member>
        <member name="P:CPF.Drawing.Media3D.Quaternion.Identity">
            <summary>
                Identity quaternion
            </summary>
        </member>
        <member name="P:CPF.Drawing.Media3D.Quaternion.Axis">
            <summary>
            Retrieves quaternion's axis.
            </summary>
        </member>
        <member name="P:CPF.Drawing.Media3D.Quaternion.Angle">
            <summary>
            Retrieves quaternion's angle.
            </summary>
        </member>
        <member name="P:CPF.Drawing.Media3D.Quaternion.IsNormalized">
            <summary>
            Returns whether the quaternion is normalized (i.e. has a magnitude of 1).
            </summary>
        </member>
        <member name="P:CPF.Drawing.Media3D.Quaternion.IsIdentity">
            <summary>
            Tests whether or not a given quaternion is an identity quaternion.
            </summary>
        </member>
        <member name="M:CPF.Drawing.Media3D.Quaternion.Conjugate">
            <summary>
            Relaces quaternion with its conjugate
            </summary>
        </member>
        <member name="M:CPF.Drawing.Media3D.Quaternion.Invert">
            <summary>
            Replaces quaternion with its inverse
            </summary>
        </member>
        <member name="M:CPF.Drawing.Media3D.Quaternion.Normalize">
            <summary>
            Normalizes this quaternion.
            </summary>
        </member>
        <member name="M:CPF.Drawing.Media3D.Quaternion.op_Addition(CPF.Drawing.Media3D.Quaternion,CPF.Drawing.Media3D.Quaternion)">
            <summary>
            Quaternion addition.
            </summary>
            <param name="left">First quaternion being added.</param>
            <param name="right">Second quaternion being added.</param>
            <returns>Result of addition.</returns>
        </member>
        <member name="M:CPF.Drawing.Media3D.Quaternion.Add(CPF.Drawing.Media3D.Quaternion,CPF.Drawing.Media3D.Quaternion)">
            <summary>
            Quaternion addition.
            </summary>
            <param name="left">First quaternion being added.</param>
            <param name="right">Second quaternion being added.</param>
            <returns>Result of addition.</returns>
        </member>
        <member name="M:CPF.Drawing.Media3D.Quaternion.op_Subtraction(CPF.Drawing.Media3D.Quaternion,CPF.Drawing.Media3D.Quaternion)">
            <summary>
            Quaternion subtraction.
            </summary>
            <param name="left">Quaternion to subtract from.</param>
            <param name="right">Quaternion to subtract from the first quaternion.</param>
            <returns>Result of subtraction.</returns>
        </member>
        <member name="M:CPF.Drawing.Media3D.Quaternion.Subtract(CPF.Drawing.Media3D.Quaternion,CPF.Drawing.Media3D.Quaternion)">
            <summary>
            Quaternion subtraction.
            </summary>
            <param name="left">Quaternion to subtract from.</param>
            <param name="right">Quaternion to subtract from the first quaternion.</param>
            <returns>Result of subtraction.</returns>
        </member>
        <member name="M:CPF.Drawing.Media3D.Quaternion.op_Multiply(CPF.Drawing.Media3D.Quaternion,CPF.Drawing.Media3D.Quaternion)">
            <summary>
            Quaternion multiplication.
            </summary>
            <param name="left">First quaternion.</param>
            <param name="right">Second quaternion.</param>
            <returns>Result of multiplication.</returns>
        </member>
        <member name="M:CPF.Drawing.Media3D.Quaternion.Multiply(CPF.Drawing.Media3D.Quaternion,CPF.Drawing.Media3D.Quaternion)">
            <summary>
            Quaternion multiplication.
            </summary>
            <param name="left">First quaternion.</param>
            <param name="right">Second quaternion.</param>
            <returns>Result of multiplication.</returns>
        </member>
        <member name="M:CPF.Drawing.Media3D.Quaternion.Scale(System.Single)">
            <summary>
            Scale this quaternion by a scalar.
            </summary>
            <param name="scale">Value to scale by.</param>            
        </member>
        <member name="M:CPF.Drawing.Media3D.Quaternion.Length">
            <summary>
            Return length of quaternion.
            </summary>
        </member>
        <member name="M:CPF.Drawing.Media3D.Quaternion.Slerp(CPF.Drawing.Media3D.Quaternion,CPF.Drawing.Media3D.Quaternion,System.Single)">
            <summary>
            Smoothly interpolate between the two given quaternions using Spherical 
            Linear Interpolation (SLERP).
            </summary>
            <param name="from">First quaternion for interpolation.</param>
            <param name="to">Second quaternion for interpolation.</param>
            <param name="t">Interpolation coefficient.</param>
            <returns>SLERP-interpolated quaternion between the two given quaternions.</returns>
        </member>
        <member name="M:CPF.Drawing.Media3D.Quaternion.Slerp(CPF.Drawing.Media3D.Quaternion,CPF.Drawing.Media3D.Quaternion,System.Single,System.Boolean)">
            <summary>
            Smoothly interpolate between the two given quaternions using Spherical 
            Linear Interpolation (SLERP).
            </summary>
            <param name="from">First quaternion for interpolation.</param>
            <param name="to">Second quaternion for interpolation.</param>
            <param name="t">Interpolation coefficient.</param>
            <param name="useShortestPath">If true, Slerp will automatically flip the sign of
                the destination Quaternion to ensure the shortest path is taken.</param>
            <returns>SLERP-interpolated quaternion between the two given quaternions.</returns>
        </member>
        <member name="P:CPF.Drawing.Media3D.Quaternion.X">
            <summary>
            X - Default value is 0.
            </summary>
        </member>
        <member name="P:CPF.Drawing.Media3D.Quaternion.Y">
            <summary>
            Y - Default value is 0.
            </summary>
        </member>
        <member name="P:CPF.Drawing.Media3D.Quaternion.Z">
            <summary>
            Z - Default value is 0.
            </summary>
        </member>
        <member name="P:CPF.Drawing.Media3D.Quaternion.W">
            <summary>
            W - Default value is 1.
            </summary>
        </member>
        <member name="M:CPF.Drawing.Media3D.Quaternion.op_Equality(CPF.Drawing.Media3D.Quaternion,CPF.Drawing.Media3D.Quaternion)">
            <summary>
            Compares two Quaternion instances for exact equality.
            Note that float values can acquire error when operated upon, such that
            an exact comparison between two values which are logically equal may fail.
            Furthermore, using this equality operator, Double.NaN is not equal to itself.
            </summary>
            <returns>
            bool - true if the two Quaternion instances are exactly equal, false otherwise
            </returns>
            <param name='quaternion1'>The first Quaternion to compare</param>
            <param name='quaternion2'>The second Quaternion to compare</param>
        </member>
        <member name="M:CPF.Drawing.Media3D.Quaternion.op_Inequality(CPF.Drawing.Media3D.Quaternion,CPF.Drawing.Media3D.Quaternion)">
            <summary>
            Compares two Quaternion instances for exact inequality.
            Note that float values can acquire error when operated upon, such that
            an exact comparison between two values which are logically equal may fail.
            Furthermore, using this equality operator, Double.NaN is not equal to itself.
            </summary>
            <returns>
            bool - true if the two Quaternion instances are exactly unequal, false otherwise
            </returns>
            <param name='quaternion1'>The first Quaternion to compare</param>
            <param name='quaternion2'>The second Quaternion to compare</param>
        </member>
        <member name="M:CPF.Drawing.Media3D.Quaternion.Equals(CPF.Drawing.Media3D.Quaternion,CPF.Drawing.Media3D.Quaternion)">
            <summary>
            Compares two Quaternion instances for object equality.  In this equality
            Double.NaN is equal to itself, unlike in numeric equality.
            Note that float values can acquire error when operated upon, such that
            an exact comparison between two values which
            are logically equal may fail.
            </summary>
            <returns>
            bool - true if the two Quaternion instances are exactly equal, false otherwise
            </returns>
            <param name='quaternion1'>The first Quaternion to compare</param>
            <param name='quaternion2'>The second Quaternion to compare</param>
        </member>
        <member name="M:CPF.Drawing.Media3D.Quaternion.Equals(System.Object)">
            <summary>
            Equals - compares this Quaternion with the passed in object.  In this equality
            Double.NaN is equal to itself, unlike in numeric equality.
            Note that float values can acquire error when operated upon, such that
            an exact comparison between two values which
            are logically equal may fail.
            </summary>
            <returns>
            bool - true if the object is an instance of Quaternion and if it's equal to "this".
            </returns>
            <param name='o'>The object to compare to "this"</param>
        </member>
        <member name="M:CPF.Drawing.Media3D.Quaternion.Equals(CPF.Drawing.Media3D.Quaternion)">
            <summary>
            Equals - compares this Quaternion with the passed in object.  In this equality
            Double.NaN is equal to itself, unlike in numeric equality.
            Note that float values can acquire error when operated upon, such that
            an exact comparison between two values which
            are logically equal may fail.
            </summary>
            <returns>
            bool - true if "value" is equal to "this".
            </returns>
            <param name='value'>The Quaternion to compare to "this"</param>
        </member>
        <member name="M:CPF.Drawing.Media3D.Quaternion.GetHashCode">
            <summary>
            Returns the HashCode for this Quaternion
            </summary>
            <returns>
            int - the HashCode for this Quaternion
            </returns>
        </member>
        <member name="M:CPF.Drawing.Media3D.Quaternion.ToString">
            <summary>
            Creates a string representation of this object based on the current culture.
            </summary>
            <returns>
            A string representation of this object.
            </returns>
        </member>
        <member name="M:CPF.Drawing.Media3D.RayHitTestParameters.#ctor(CPF.Drawing.Media3D.Point3D,CPF.Drawing.Media3D.Vector3D)">
            <summary>
                Creates a RayHitTestParameters where the ray is described
                by an origin and a direction.
            </summary>
        </member>
        <member name="P:CPF.Drawing.Media3D.RayHitTestParameters.Origin">
            <summary>
                The origin of the ray to be used for hit testing.
            </summary>
        </member>
        <member name="P:CPF.Drawing.Media3D.RayHitTestParameters.Direction">
            <summary>
                The direction of the ray to be used for hit testing.
            </summary>
        </member>
        <member name="M:CPF.Drawing.Media3D.Rect3D.op_Equality(CPF.Drawing.Media3D.Rect3D,CPF.Drawing.Media3D.Rect3D)">
            <summary>
            Compares two Rect3D instances for exact equality.
            Note that float values can acquire error when operated upon, such that
            an exact comparison between two values which are logically equal may fail.
            Furthermore, using this equality operator, float.NaN is not equal to itself.
            </summary>
            <returns>
            bool - true if the two Rect3D instances are exactly equal, false otherwise
            </returns>
            <param name='rect1'>The first Rect3D to compare</param>
            <param name='rect2'>The second Rect3D to compare</param>
        </member>
        <member name="M:CPF.Drawing.Media3D.Rect3D.op_Inequality(CPF.Drawing.Media3D.Rect3D,CPF.Drawing.Media3D.Rect3D)">
            <summary>
            Compares two Rect3D instances for exact inequality.
            Note that float values can acquire error when operated upon, such that
            an exact comparison between two values which are logically equal may fail.
            Furthermore, using this equality operator, float.NaN is not equal to itself.
            </summary>
            <returns>
            bool - true if the two Rect3D instances are exactly unequal, false otherwise
            </returns>
            <param name='rect1'>The first Rect3D to compare</param>
            <param name='rect2'>The second Rect3D to compare</param>
        </member>
        <member name="M:CPF.Drawing.Media3D.Rect3D.Equals(CPF.Drawing.Media3D.Rect3D,CPF.Drawing.Media3D.Rect3D)">
            <summary>
            Compares two Rect3D instances for object equality.  In this equality
            float.NaN is equal to itself, unlike in numeric equality.
            Note that float values can acquire error when operated upon, such that
            an exact comparison between two values which
            are logically equal may fail.
            </summary>
            <returns>
            bool - true if the two Rect3D instances are exactly equal, false otherwise
            </returns>
            <param name='rect1'>The first Rect3D to compare</param>
            <param name='rect2'>The second Rect3D to compare</param>
        </member>
        <member name="M:CPF.Drawing.Media3D.Rect3D.Equals(System.Object)">
            <summary>
            Equals - compares this Rect3D with the passed in object.  In this equality
            float.NaN is equal to itself, unlike in numeric equality.
            Note that float values can acquire error when operated upon, such that
            an exact comparison between two values which
            are logically equal may fail.
            </summary>
            <returns>
            bool - true if the object is an instance of Rect3D and if it's equal to "this".
            </returns>
            <param name='o'>The object to compare to "this"</param>
        </member>
        <member name="M:CPF.Drawing.Media3D.Rect3D.Equals(CPF.Drawing.Media3D.Rect3D)">
            <summary>
            Equals - compares this Rect3D with the passed in object.  In this equality
            float.NaN is equal to itself, unlike in numeric equality.
            Note that float values can acquire error when operated upon, such that
            an exact comparison between two values which
            are logically equal may fail.
            </summary>
            <returns>
            bool - true if "value" is equal to "this".
            </returns>
            <param name='value'>The Rect3D to compare to "this"</param>
        </member>
        <member name="M:CPF.Drawing.Media3D.Rect3D.GetHashCode">
            <summary>
            Returns the HashCode for this Rect3D
            </summary>
            <returns>
            int - the HashCode for this Rect3D
            </returns>
        </member>
        <member name="M:CPF.Drawing.Media3D.Rect3D.ToString">
            <summary>
            Creates a string representation of this object based on the current culture.
            </summary>
            <returns>
            A string representation of this object.
            </returns>
        </member>
        <member name="M:CPF.Drawing.Media3D.Rect3D.ToString(System.IFormatProvider)">
            <summary>
            Creates a string representation of this object based on the IFormatProvider
            passed in.  If the provider is null, the CurrentCulture is used.
            </summary>
            <returns>
            A string representation of this object.
            </returns>
        </member>
        <member name="M:CPF.Drawing.Media3D.Rect3D.System#IFormattable#ToString(System.String,System.IFormatProvider)">
            <summary>
            Creates a string representation of this object based on the format string
            and IFormatProvider passed in.
            If the provider is null, the CurrentCulture is used.
            See the documentation for IFormattable for more information.
            </summary>
            <returns>
            A string representation of this object.
            </returns>
        </member>
        <member name="M:CPF.Drawing.Media3D.Rect3D.ConvertToString(System.String,System.IFormatProvider)">
            <summary>
            Creates a string representation of this object based on the format string
            and IFormatProvider passed in.
            If the provider is null, the CurrentCulture is used.
            See the documentation for IFormattable for more information.
            </summary>
            <returns>
            A string representation of this object.
            </returns>
        </member>
        <member name="M:CPF.Drawing.Media3D.Rect3D.#ctor(CPF.Drawing.Media3D.Point3D,CPF.Drawing.Media3D.Size3D)">
            <summary>
            Constructor which sets the initial values to the values of the parameters.
            </summary>
            <param name="location">Location of the new rectangle.</param>
            <param name="size">Size of the new rectangle.</param>
        </member>
        <member name="M:CPF.Drawing.Media3D.Rect3D.#ctor(System.Single,System.Single,System.Single,System.Single,System.Single,System.Single)">
            <summary>
            Constructor which sets the initial values to the values of the parameters.
            SizeX, sizeY, sizeZ must be non-negative.
            </summary>
            <param name="x">Value of the X location coordinate of the new rectangle.</param>
            <param name="y">Value of the X location coordinate of the new rectangle.</param>
            <param name="z">Value of the X location coordinate of the new rectangle.</param>
            <param name="sizeX">Size of the new rectangle in X dimension.</param>
            <param name="sizeY">Size of the new rectangle in Y dimension.</param>
            <param name="sizeZ">Size of the new rectangle in Z dimension.</param>
        </member>
        <member name="M:CPF.Drawing.Media3D.Rect3D.#ctor(CPF.Drawing.Media3D.Point3D,CPF.Drawing.Media3D.Point3D)">
            <summary>
            Constructor which sets the initial values to bound the two points provided.
            </summary>
            <param name="point1">First point.</param>
            <param name="point2">Second point.</param>
        </member>
        <member name="M:CPF.Drawing.Media3D.Rect3D.#ctor(CPF.Drawing.Media3D.Point3D,CPF.Drawing.Media3D.Vector3D)">
            <summary>
            Constructor which sets the initial values to bound the point provided and the point
            which results from point + vector.
            </summary>
            <param name="point">Location of the rectangle.</param>
            <param name="vector">Vector extending the rectangle from the location.</param>
        </member>
        <member name="P:CPF.Drawing.Media3D.Rect3D.Empty">
            <summary>
            Empty - a static property which provides an Empty rectangle.  X, Y, and Z are 
            positive-infinity and sizes are negative infinity.  This is the only situation
            where size can be negative.
            </summary>
        </member>
        <member name="P:CPF.Drawing.Media3D.Rect3D.IsEmpty">
            <summary>
            IsEmpty - this returns true if this rect is the Empty rectangle.
            Note: If size is 0 this Rectangle still contains a 0 or 1 dimensional set
            of points, so this method should not be used to check for 0 area.
            </summary>
        </member>
        <member name="P:CPF.Drawing.Media3D.Rect3D.Location">
            <summary>
            The point representing the origin of the rectangle.
            </summary>
        </member>
        <member name="P:CPF.Drawing.Media3D.Rect3D.Size">
            <summary>
            The size representing the area of the rectangle.
            </summary>
        </member>
        <member name="P:CPF.Drawing.Media3D.Rect3D.SizeX">
            <summary>
            Size of the rectangle in the X dimension.
            </summary>
        </member>
        <member name="P:CPF.Drawing.Media3D.Rect3D.SizeY">
            <summary>
            Size of the rectangle in the Y dimension.
            </summary>
        </member>
        <member name="P:CPF.Drawing.Media3D.Rect3D.SizeZ">
            <summary>
            Size of the rectangle in the Z dimension.
            </summary>
        </member>
        <member name="P:CPF.Drawing.Media3D.Rect3D.X">
            <summary>
            Value of the X coordinate of the rectangle.
            </summary>
        </member>
        <member name="P:CPF.Drawing.Media3D.Rect3D.Y">
            <summary>
            Value of the Y coordinate of the rectangle.
            </summary>
        </member>
        <member name="P:CPF.Drawing.Media3D.Rect3D.Z">
            <summary>
            Value of the Z coordinate of the rectangle.
            </summary>
        </member>
        <member name="M:CPF.Drawing.Media3D.Rect3D.Contains(CPF.Drawing.Media3D.Point3D)">
            <summary>
            Returns true if the point is within the rectangle, inclusive of the edges.
            Returns false otherwise.
            </summary>
            <param name="point">The point which is being tested.</param>
            <returns>True if the point is within the rectangle. False otherwise</returns>
        </member>
        <member name="M:CPF.Drawing.Media3D.Rect3D.Contains(System.Single,System.Single,System.Single)">
            <summary>
            Contains - Returns true if the Point represented by x,y,z is within the rectangle 
            inclusive of the edges. Returns false otherwise.
            </summary>
            <param name="x">X coordinate of the point which is being tested.</param>
            <param name="y">Y coordinate of the point which is being tested.</param>
            <param name="z">Y coordinate of the point which is being tested.</param>
            <returns> True if the Point represented by x,y is within the rectangle.
            False otherwise. </returns>
        </member>
        <member name="M:CPF.Drawing.Media3D.Rect3D.Contains(CPF.Drawing.Media3D.Rect3D)">
            <summary>
            Returns true if the rectangle is non-Empty and is entirely contained within the
            rectangle, inclusive of the edges. Returns false otherwise.
            </summary>
            <param name="rect">Rectangle being tested.</param>
            <returns>Returns true if the rectangle is non-Empty and is entirely contained within the
            rectangle, inclusive of the edges. Returns false otherwise.</returns>
        </member>
        <member name="M:CPF.Drawing.Media3D.Rect3D.IntersectsWith(CPF.Drawing.Media3D.Rect3D)">
            <summary>
            Returns true if the rectangle intersects with this rectangle. 
            Returns false otherwise. Note that if one edge is coincident, this is considered 
            an intersection.
            </summary>
            <param name="rect">Rectangle being tested.</param>
            <returns>True if the rectangle intersects with this rectangle. 
            False otherwise.</returns>
        </member>
        <member name="M:CPF.Drawing.Media3D.Rect3D.Intersect(CPF.Drawing.Media3D.Rect3D)">
            <summary>
            Intersect - Update this rectangle to be the intersection of this and rect
            If either this or rect are Empty, the result is Empty as well.
            </summary>
            <param name="rect"> The rect to intersect with this </param>
        </member>
        <member name="M:CPF.Drawing.Media3D.Rect3D.Intersect(CPF.Drawing.Media3D.Rect3D,CPF.Drawing.Media3D.Rect3D)">
            <summary>
            Return the result of the intersection of rect1 and rect2.
            If either this or rect are Empty, the result is Empty as well.
            </summary>
            <param name="rect1">First rectangle.</param>
            <param name="rect2">Second rectangle.</param>
            <returns>The result of the intersection of rect1 and rect2.</returns>
        </member>
        <member name="M:CPF.Drawing.Media3D.Rect3D.Union(CPF.Drawing.Media3D.Rect3D)">
            <summary>
            Update this rectangle to be the union of this and rect.
            </summary>
            <param name="rect">Rectangle.</param>
        </member>
        <member name="M:CPF.Drawing.Media3D.Rect3D.Union(CPF.Drawing.Media3D.Rect3D,CPF.Drawing.Media3D.Rect3D)">
            <summary>
            Return the result of the union of rect1 and rect2.
            </summary>
            <param name="rect1">First rectangle.</param>
            <param name="rect2">Second rectangle.</param>
            <returns>The result of the union of the two rectangles.</returns>
        </member>
        <member name="M:CPF.Drawing.Media3D.Rect3D.Union(CPF.Drawing.Media3D.Point3D)">
            <summary>
            Update this rectangle to be the union of this and point.
            </summary>
            <param name="point">Point.</param>
        </member>
        <member name="M:CPF.Drawing.Media3D.Rect3D.Union(CPF.Drawing.Media3D.Rect3D,CPF.Drawing.Media3D.Point3D)">
            <summary>
            Return the result of the union of rect and point.
            </summary>
            <param name="rect">Rectangle.</param>
            <param name="point">Point.</param>
            <returns>The result of the union of rect and point.</returns>
        </member>
        <member name="M:CPF.Drawing.Media3D.Rect3D.Offset(CPF.Drawing.Media3D.Vector3D)">
            <summary>
            Translate the Location by the offset provided.
            If this is Empty, this method is illegal.
            </summary>
            <param name="offsetVector"></param>
        </member>
        <member name="M:CPF.Drawing.Media3D.Rect3D.Offset(System.Single,System.Single,System.Single)">
            <summary>
            Offset - translate the Location by the offset provided
            If this is Empty, this method is illegal.
            </summary>
            <param name="offsetX"></param>
            <param name="offsetY"></param>
            <param name="offsetZ"></param>
        </member>
        <member name="M:CPF.Drawing.Media3D.Rect3D.Offset(CPF.Drawing.Media3D.Rect3D,CPF.Drawing.Media3D.Vector3D)">
            <summary>
            Offset - return the result of offsetting rect by the offset provided
            If this is Empty, this method is illegal.
            </summary>
            <param name="rect"></param>
            <param name="offsetVector"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.Drawing.Media3D.Rect3D.Offset(CPF.Drawing.Media3D.Rect3D,System.Single,System.Single,System.Single)">
            <summary>
            Offset - return the result of offsetting rect by the offset provided
            If this is Empty, this method is illegal.
            </summary>
            <param name="rect"></param>
            <param name="offsetX"></param>
            <param name="offsetY"></param>
            <param name="offsetZ"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.Drawing.Media3D.Rect3D.ContainsInternal(System.Single,System.Single,System.Single)">
            <summary>
            ContainsInternal - Performs just the "point inside" logic.
            </summary>
            <param name="x"></param>
            <param name="y"></param>
            <param name="z"></param>
            <returns>bool - true if the point is inside the rect</returns>
        </member>
        <member name="T:CPF.Drawing.Media3D.Size3D">
            <summary>
            Size3D - A value type which defined a size in terms of non-negative width, 
            length, and height.
            </summary>
        </member>
        <member name="M:CPF.Drawing.Media3D.Size3D.#ctor(System.Single,System.Single,System.Single)">
            <summary>
            Constructor which sets the size's initial values.  Values must be non-negative.
            </summary>
            <param name="x">X dimension of the new size.</param>
            <param name="y">Y dimension of the new size.</param>
            <param name="z">Z dimension of the new size.</param>
        </member>
        <member name="P:CPF.Drawing.Media3D.Size3D.Empty">
            <summary>
            Empty - a static property which provides an Empty size.  X, Y, and Z are 
            negative-infinity.  This is the only situation
            where size can be negative.
            </summary>
        </member>
        <member name="P:CPF.Drawing.Media3D.Size3D.IsEmpty">
            <summary>
            IsEmpty - this returns true if this size is the Empty size.
            Note: If size is 0 this Size3D still contains a 0, 1, or 2 dimensional set
            of points, so this method should not be used to check for 0 volume.
            </summary>
        </member>
        <member name="P:CPF.Drawing.Media3D.Size3D.X">
            <summary>
            Size in X dimension. Default is 0, must be non-negative.
            </summary>
        </member>
        <member name="P:CPF.Drawing.Media3D.Size3D.Y">
            <summary>
            Size in Y dimension. Default is 0, must be non-negative.
            </summary>
        </member>
        <member name="P:CPF.Drawing.Media3D.Size3D.Z">
            <summary>
            Size in Z dimension. Default is 0, must be non-negative.
            </summary>
        </member>
        <member name="M:CPF.Drawing.Media3D.Size3D.op_Explicit(CPF.Drawing.Media3D.Size3D)~CPF.Drawing.Media3D.Vector3D">
            <summary>
            Explicit conversion to Vector.
            </summary>
            <param name="size">The size to convert to a vector.</param>
            <returns>A vector equal to this size.</returns>
        </member>
        <member name="M:CPF.Drawing.Media3D.Size3D.op_Explicit(CPF.Drawing.Media3D.Size3D)~CPF.Drawing.Media3D.Point3D">
            <summary>
            Explicit conversion to point.
            </summary>
            <param name="size">The size to convert to a point.</param>
            <returns>A point equal to this size.</returns>
        </member>
        <member name="M:CPF.Drawing.Media3D.Size3D.op_Equality(CPF.Drawing.Media3D.Size3D,CPF.Drawing.Media3D.Size3D)">
            <summary>
            Compares two Size3D instances for exact equality.
            Note that float values can acquire error when operated upon, such that
            an exact comparison between two values which are logically equal may fail.
            Furthermore, using this equality operator, Double.NaN is not equal to itself.
            </summary>
            <returns>
            bool - true if the two Size3D instances are exactly equal, false otherwise
            </returns>
            <param name='size1'>The first Size3D to compare</param>
            <param name='size2'>The second Size3D to compare</param>
        </member>
        <member name="M:CPF.Drawing.Media3D.Size3D.op_Inequality(CPF.Drawing.Media3D.Size3D,CPF.Drawing.Media3D.Size3D)">
            <summary>
            Compares two Size3D instances for exact inequality.
            Note that float values can acquire error when operated upon, such that
            an exact comparison between two values which are logically equal may fail.
            Furthermore, using this equality operator, Double.NaN is not equal to itself.
            </summary>
            <returns>
            bool - true if the two Size3D instances are exactly unequal, false otherwise
            </returns>
            <param name='size1'>The first Size3D to compare</param>
            <param name='size2'>The second Size3D to compare</param>
        </member>
        <member name="M:CPF.Drawing.Media3D.Size3D.Equals(CPF.Drawing.Media3D.Size3D,CPF.Drawing.Media3D.Size3D)">
            <summary>
            Compares two Size3D instances for object equality.  In this equality
            Double.NaN is equal to itself, unlike in numeric equality.
            Note that float values can acquire error when operated upon, such that
            an exact comparison between two values which
            are logically equal may fail.
            </summary>
            <returns>
            bool - true if the two Size3D instances are exactly equal, false otherwise
            </returns>
            <param name='size1'>The first Size3D to compare</param>
            <param name='size2'>The second Size3D to compare</param>
        </member>
        <member name="M:CPF.Drawing.Media3D.Size3D.Equals(System.Object)">
            <summary>
            Equals - compares this Size3D with the passed in object.  In this equality
            Double.NaN is equal to itself, unlike in numeric equality.
            Note that float values can acquire error when operated upon, such that
            an exact comparison between two values which
            are logically equal may fail.
            </summary>
            <returns>
            bool - true if the object is an instance of Size3D and if it's equal to "this".
            </returns>
            <param name='o'>The object to compare to "this"</param>
        </member>
        <member name="M:CPF.Drawing.Media3D.Size3D.Equals(CPF.Drawing.Media3D.Size3D)">
            <summary>
            Equals - compares this Size3D with the passed in object.  In this equality
            Double.NaN is equal to itself, unlike in numeric equality.
            Note that float values can acquire error when operated upon, such that
            an exact comparison between two values which
            are logically equal may fail.
            </summary>
            <returns>
            bool - true if "value" is equal to "this".
            </returns>
            <param name='value'>The Size3D to compare to "this"</param>
        </member>
        <member name="M:CPF.Drawing.Media3D.Size3D.GetHashCode">
            <summary>
            Returns the HashCode for this Size3D
            </summary>
            <returns>
            int - the HashCode for this Size3D
            </returns>
        </member>
        <member name="M:CPF.Drawing.Media3D.Size3D.ToString">
            <summary>
            Creates a string representation of this object based on the current culture.
            </summary>
            <returns>
            A string representation of this object.
            </returns>
        </member>
        <member name="T:CPF.Drawing.Media3D.Vector3D">
            <summary>
            Vector3D - 3D vector representation.
            </summary>
        </member>
        <member name="M:CPF.Drawing.Media3D.Vector3D.#ctor(System.Single,System.Single,System.Single)">
            <summary>
            Constructor that sets vector's initial values.
            </summary>
            <param name="x">Value of the X coordinate of the new vector.</param>
            <param name="y">Value of the Y coordinate of the new vector.</param>
            <param name="z">Value of the Z coordinate of the new vector.</param>
        </member>
        <member name="P:CPF.Drawing.Media3D.Vector3D.Length">
            <summary>
            Length of the vector.
            </summary>
        </member>
        <member name="P:CPF.Drawing.Media3D.Vector3D.LengthSquared">
            <summary>
            Length of the vector squared.
            </summary>
        </member>
        <member name="M:CPF.Drawing.Media3D.Vector3D.Normalize">
            <summary>
            Updates the vector to maintain its direction, but to have a length
            of 1. Equivalent to dividing the vector by its Length.
            Returns NaN if length is zero.
            </summary>
        </member>
        <member name="M:CPF.Drawing.Media3D.Vector3D.AngleBetween(CPF.Drawing.Media3D.Vector3D,CPF.Drawing.Media3D.Vector3D)">
            <summary>
            Computes the angle between two vectors.
            </summary>
            <param name="vector1">First vector.</param>
            <param name="vector2">Second vector.</param>
            <returns>
            Returns the angle required to rotate vector1 into vector2 in degrees.
            This will return a value between [0, 180] degrees.
            (Note that this is slightly different from the Vector member
            function of the same name.  Signed angles do not extend to 3D.)
            </returns>
        </member>
        <member name="M:CPF.Drawing.Media3D.Vector3D.op_UnaryNegation(CPF.Drawing.Media3D.Vector3D)">
            <summary>
            Operator -Vector (unary negation).
            </summary>
            <param name="vector">Vector being negated.</param>
            <returns>Negation of the given vector.</returns>
        </member>
        <member name="M:CPF.Drawing.Media3D.Vector3D.Negate">
            <summary>
            Negates the values of X, Y, and Z on this Vector3D
            </summary>
        </member>
        <member name="M:CPF.Drawing.Media3D.Vector3D.op_Addition(CPF.Drawing.Media3D.Vector3D,CPF.Drawing.Media3D.Vector3D)">
            <summary>
            Vector addition.
            </summary>
            <param name="vector1">First vector being added.</param>
            <param name="vector2">Second vector being added.</param>
            <returns>Result of addition.</returns>
        </member>
        <member name="M:CPF.Drawing.Media3D.Vector3D.Add(CPF.Drawing.Media3D.Vector3D,CPF.Drawing.Media3D.Vector3D)">
            <summary>
            Vector addition.
            </summary>
            <param name="vector1">First vector being added.</param>
            <param name="vector2">Second vector being added.</param>
            <returns>Result of addition.</returns>
        </member>
        <member name="M:CPF.Drawing.Media3D.Vector3D.op_Subtraction(CPF.Drawing.Media3D.Vector3D,CPF.Drawing.Media3D.Vector3D)">
            <summary>
            Vector subtraction.
            </summary>
            <param name="vector1">Vector that is subtracted from.</param>
            <param name="vector2">Vector being subtracted.</param>
            <returns>Result of subtraction.</returns>
        </member>
        <member name="M:CPF.Drawing.Media3D.Vector3D.Subtract(CPF.Drawing.Media3D.Vector3D,CPF.Drawing.Media3D.Vector3D)">
            <summary>
            Vector subtraction.
            </summary>
            <param name="vector1">Vector that is subtracted from.</param>
            <param name="vector2">Vector being subtracted.</param>
            <returns>Result of subtraction.</returns>
        </member>
        <member name="M:CPF.Drawing.Media3D.Vector3D.op_Addition(CPF.Drawing.Media3D.Vector3D,CPF.Drawing.Media3D.Point3D)">
            <summary>
            Vector3D + Point3D addition.
            </summary>
            <param name="vector">Vector by which we offset the point.</param>
            <param name="point">Point being offset by the given vector.</param>
            <returns>Result of addition.</returns>
        </member>
        <member name="M:CPF.Drawing.Media3D.Vector3D.Add(CPF.Drawing.Media3D.Vector3D,CPF.Drawing.Media3D.Point3D)">
            <summary>
            Vector3D + Point3D addition.
            </summary>
            <param name="vector">Vector by which we offset the point.</param>
            <param name="point">Point being offset by the given vector.</param>
            <returns>Result of addition.</returns>
        </member>
        <member name="M:CPF.Drawing.Media3D.Vector3D.op_Subtraction(CPF.Drawing.Media3D.Vector3D,CPF.Drawing.Media3D.Point3D)">
            <summary>
            Vector3D - Point3D subtraction.
            </summary>
            <param name="vector">Vector by which we offset the point.</param>
            <param name="point">Point being offset by the given vector.</param>
            <returns>Result of subtraction.</returns>
        </member>
        <member name="M:CPF.Drawing.Media3D.Vector3D.Subtract(CPF.Drawing.Media3D.Vector3D,CPF.Drawing.Media3D.Point3D)">
            <summary>
            Vector3D - Point3D subtraction.
            </summary>
            <param name="vector">Vector by which we offset the point.</param>
            <param name="point">Point being offset by the given vector.</param>
            <returns>Result of subtraction.</returns>
        </member>
        <member name="M:CPF.Drawing.Media3D.Vector3D.op_Multiply(CPF.Drawing.Media3D.Vector3D,System.Single)">
            <summary>
            Scalar multiplication.
            </summary>
            <param name="vector">Vector being multiplied.</param>
            <param name="scalar">Scalar value by which the vector is multiplied.</param>
            <returns>Result of multiplication.</returns>
        </member>
        <member name="M:CPF.Drawing.Media3D.Vector3D.Multiply(CPF.Drawing.Media3D.Vector3D,System.Single)">
            <summary>
            Scalar multiplication.
            </summary>
            <param name="vector">Vector being multiplied.</param>
            <param name="scalar">Scalar value by which the vector is multiplied.</param>
            <returns>Result of multiplication.</returns>
        </member>
        <member name="M:CPF.Drawing.Media3D.Vector3D.op_Multiply(System.Single,CPF.Drawing.Media3D.Vector3D)">
            <summary>
            Scalar multiplication.
            </summary>
            <param name="scalar">Scalar value by which the vector is multiplied</param>
            <param name="vector">Vector being multiplied.</param>
            <returns>Result of multiplication.</returns>
        </member>
        <member name="M:CPF.Drawing.Media3D.Vector3D.Multiply(System.Single,CPF.Drawing.Media3D.Vector3D)">
            <summary>
            Scalar multiplication.
            </summary>
            <param name="scalar">Scalar value by which the vector is multiplied</param>
            <param name="vector">Vector being multiplied.</param>
            <returns>Result of multiplication.</returns>
        </member>
        <member name="M:CPF.Drawing.Media3D.Vector3D.op_Division(CPF.Drawing.Media3D.Vector3D,System.Single)">
            <summary>
            Scalar division.
            </summary>
            <param name="vector">Vector being divided.</param>
            <param name="scalar">Scalar value by which we divide the vector.</param>
            <returns>Result of division.</returns>
        </member>
        <member name="M:CPF.Drawing.Media3D.Vector3D.Divide(CPF.Drawing.Media3D.Vector3D,System.Single)">
            <summary>
            Scalar division.
            </summary>
            <param name="vector">Vector being divided.</param>
            <param name="scalar">Scalar value by which we divide the vector.</param>
            <returns>Result of division.</returns>
        </member>
        <member name="M:CPF.Drawing.Media3D.Vector3D.op_Multiply(CPF.Drawing.Media3D.Vector3D,CPF.Drawing.Media3D.Matrix3D)">
            <summary>
            Vector3D * Matrix3D multiplication
            </summary>
            <param name="vector">Vector being tranformed.</param>
            <param name="matrix">Transformation matrix applied to the vector.</param>
            <returns>Result of multiplication.</returns>
        </member>
        <member name="M:CPF.Drawing.Media3D.Vector3D.Multiply(CPF.Drawing.Media3D.Vector3D,CPF.Drawing.Media3D.Matrix3D)">
            <summary>
            Vector3D * Matrix3D multiplication
            </summary>
            <param name="vector">Vector being tranformed.</param>
            <param name="matrix">Transformation matrix applied to the vector.</param>
            <returns>Result of multiplication.</returns>
        </member>
        <member name="M:CPF.Drawing.Media3D.Vector3D.DotProduct(CPF.Drawing.Media3D.Vector3D,CPF.Drawing.Media3D.Vector3D)">
            <summary>
            Vector dot product.
            </summary>
            <param name="vector1">First vector.</param>
            <param name="vector2">Second vector.</param>
            <returns>Dot product of two vectors.</returns>
        </member>
        <member name="M:CPF.Drawing.Media3D.Vector3D.DotProduct(CPF.Drawing.Media3D.Vector3D@,CPF.Drawing.Media3D.Vector3D@)">
             <summary>
             Faster internal version of DotProduct that avoids copies
            
             vector1 and vector2 to a passed by ref for perf and ARE NOT MODIFIED
             </summary>
        </member>
        <member name="M:CPF.Drawing.Media3D.Vector3D.CrossProduct(CPF.Drawing.Media3D.Vector3D,CPF.Drawing.Media3D.Vector3D)">
            <summary>
            Vector cross product.
            </summary>
            <param name="vector1">First vector.</param>
            <param name="vector2">Second vector.</param>
            <returns>Cross product of two vectors.</returns>
        </member>
        <member name="M:CPF.Drawing.Media3D.Vector3D.CrossProduct(CPF.Drawing.Media3D.Vector3D@,CPF.Drawing.Media3D.Vector3D@,CPF.Drawing.Media3D.Vector3D@)">
             <summary>
             Faster internal version of CrossProduct that avoids copies
            
             vector1 and vector2 to a passed by ref for perf and ARE NOT MODIFIED
             </summary>
        </member>
        <member name="M:CPF.Drawing.Media3D.Vector3D.op_Explicit(CPF.Drawing.Media3D.Vector3D)~CPF.Drawing.Media3D.Point3D">
            <summary>
            Vector3D to Point3D conversion.
            </summary>
            <param name="vector">Vector being converted.</param>
            <returns>Point representing the given vector.</returns>
        </member>
        <member name="M:CPF.Drawing.Media3D.Vector3D.op_Explicit(CPF.Drawing.Media3D.Vector3D)~CPF.Drawing.Media3D.Size3D">
            <summary>
            Explicit conversion to Size3D.  Note that since Size3D cannot contain negative values,
            the resulting size will contains the absolute values of X, Y, and Z.
            </summary>
            <param name="vector">The vector to convert to a size.</param>
            <returns>A size equal to this vector.</returns>
        </member>
        <member name="M:CPF.Drawing.Media3D.Vector3D.op_Equality(CPF.Drawing.Media3D.Vector3D,CPF.Drawing.Media3D.Vector3D)">
            <summary>
            Compares two Vector3D instances for exact equality.
            Note that float values can acquire error when operated upon, such that
            an exact comparison between two values which are logically equal may fail.
            Furthermore, using this equality operator, Double.NaN is not equal to itself.
            </summary>
            <returns>
            bool - true if the two Vector3D instances are exactly equal, false otherwise
            </returns>
            <param name='vector1'>The first Vector3D to compare</param>
            <param name='vector2'>The second Vector3D to compare</param>
        </member>
        <member name="M:CPF.Drawing.Media3D.Vector3D.op_Inequality(CPF.Drawing.Media3D.Vector3D,CPF.Drawing.Media3D.Vector3D)">
            <summary>
            Compares two Vector3D instances for exact inequality.
            Note that float values can acquire error when operated upon, such that
            an exact comparison between two values which are logically equal may fail.
            Furthermore, using this equality operator, Double.NaN is not equal to itself.
            </summary>
            <returns>
            bool - true if the two Vector3D instances are exactly unequal, false otherwise
            </returns>
            <param name='vector1'>The first Vector3D to compare</param>
            <param name='vector2'>The second Vector3D to compare</param>
        </member>
        <member name="M:CPF.Drawing.Media3D.Vector3D.Equals(CPF.Drawing.Media3D.Vector3D,CPF.Drawing.Media3D.Vector3D)">
            <summary>
            Compares two Vector3D instances for object equality.  In this equality
            Double.NaN is equal to itself, unlike in numeric equality.
            Note that float values can acquire error when operated upon, such that
            an exact comparison between two values which
            are logically equal may fail.
            </summary>
            <returns>
            bool - true if the two Vector3D instances are exactly equal, false otherwise
            </returns>
            <param name='vector1'>The first Vector3D to compare</param>
            <param name='vector2'>The second Vector3D to compare</param>
        </member>
        <member name="M:CPF.Drawing.Media3D.Vector3D.Equals(System.Object)">
            <summary>
            Equals - compares this Vector3D with the passed in object.  In this equality
            Double.NaN is equal to itself, unlike in numeric equality.
            Note that float values can acquire error when operated upon, such that
            an exact comparison between two values which
            are logically equal may fail.
            </summary>
            <returns>
            bool - true if the object is an instance of Vector3D and if it's equal to "this".
            </returns>
            <param name='o'>The object to compare to "this"</param>
        </member>
        <member name="M:CPF.Drawing.Media3D.Vector3D.Equals(CPF.Drawing.Media3D.Vector3D)">
            <summary>
            Equals - compares this Vector3D with the passed in object.  In this equality
            Double.NaN is equal to itself, unlike in numeric equality.
            Note that float values can acquire error when operated upon, such that
            an exact comparison between two values which
            are logically equal may fail.
            </summary>
            <returns>
            bool - true if "value" is equal to "this".
            </returns>
            <param name='value'>The Vector3D to compare to "this"</param>
        </member>
        <member name="M:CPF.Drawing.Media3D.Vector3D.GetHashCode">
            <summary>
            Returns the HashCode for this Vector3D
            </summary>
            <returns>
            int - the HashCode for this Vector3D
            </returns>
        </member>
        <member name="P:CPF.Drawing.Media3D.Vector3D.X">
            <summary>
                X - float.  Default value is 0.
            </summary>
        </member>
        <member name="P:CPF.Drawing.Media3D.Vector3D.Y">
            <summary>
                Y - float.  Default value is 0.
            </summary>
        </member>
        <member name="P:CPF.Drawing.Media3D.Vector3D.Z">
            <summary>
                Z - float.  Default value is 0.
            </summary>
        </member>
        <member name="M:CPF.Drawing.Media3D.Vector3D.ToString">
            <summary>
            Creates a string representation of this object based on the current culture.
            </summary>
            <returns>
            A string representation of this object.
            </returns>
        </member>
        <member name="T:CPF.Drawing.PathGeometry">
            <summary>
            支持WPF里的字符串格式数据，隐式转换
            </summary>
        </member>
        <member name="M:CPF.Drawing.PathGeometry.BeginFigure(System.Single,System.Single)">
            <summary>
            开始新的图形操作，设置起始点。和EndFigure匹配
            </summary>
            <param name="x"></param>
            <param name="y"></param>
        </member>
        <member name="M:CPF.Drawing.PathGeometry.LineTo(System.Single,System.Single)">
            <summary>
            添加一条线
            </summary>
            <param name="x"></param>
            <param name="y"></param>
        </member>
        <member name="M:CPF.Drawing.PathGeometry.ArcTo(CPF.Drawing.Point,CPF.Drawing.Size,System.Single,System.Boolean,System.Boolean)">
            <summary>
            添加一个圆弧
            </summary>
            <param name="point">弧线末尾的目标点</param>
            <param name="size">椭圆的半径</param>
            <param name="rotationAngle">角度</param>
            <param name="isClockwise">是否为顺时针</param>
            <param name="isLargeArc">是否是大弧线</param>
        </member>
        <member name="M:CPF.Drawing.PathGeometry.EndFigure(System.Boolean)">
            <summary>
            结束当前图形操作，是否闭合路径。和BeginFigure匹配
            </summary>
            <param name="closeFigure"></param>
        </member>
        <member name="M:CPF.Drawing.PathGeometry.CubicTo(CPF.Drawing.Point,CPF.Drawing.Point,CPF.Drawing.Point)">
            <summary>
            三次方程式贝塞尔曲线
            </summary>
            <param name="p1"></param>
            <param name="p2"></param>
            <param name="p3"></param>
        </member>
        <member name="M:CPF.Drawing.PathGeometry.QuadTo(CPF.Drawing.Point,CPF.Drawing.Point)">
            <summary>
            二次方程式贝塞尔曲线
            </summary>
            <param name="p1"></param>
            <param name="p2"></param>
        </member>
        <member name="M:CPF.Drawing.PathGeometry.CreateStrokePath(System.Single)">
            <summary>
            创建一个用于描边当前路径的路径
            </summary>
            <returns></returns>
        </member>
        <member name="T:CPF.Drawing.AbbreviatedGeometryParser">
            <summary>
            Parser for XAML abbreviated geometry.
            SVG path spec is closely followed http://www.w3.org/TR/SVG11/paths.html
            3/23/2006, new parser for performance (fyuan)
            </summary>
        </member>
        <member name="M:CPF.Drawing.AbbreviatedGeometryParser.ThrowBadToken">
            <summary>
            Throw unexpected token exception
            </summary>
        </member>
        <member name="M:CPF.Drawing.AbbreviatedGeometryParser.ReadToken">
            <summary>
            Read the next non whitespace character
            </summary>
            <returns>True if not end of string</returns>
        </member>
        <member name="M:CPF.Drawing.AbbreviatedGeometryParser.ReadNumber(System.Boolean)">
            <summary>
            Read a floating point number
            </summary>
            <returns></returns>
        </member>
        <member name="M:CPF.Drawing.AbbreviatedGeometryParser.ReadBool">
            <summary>
            Read a bool: 1 or 0
            </summary>
            <returns></returns>
        </member>
        <member name="M:CPF.Drawing.AbbreviatedGeometryParser.ReadPoint(System.Char,System.Boolean)">
            <summary>
            Read a relative point
            </summary>
            <returns></returns>
        </member>
        <member name="M:CPF.Drawing.AbbreviatedGeometryParser.Reflect">
            <summary>
            Reflect _secondLastPoint over _lastPoint to get a new point for smooth curve
            </summary>
            <returns></returns>
        </member>
        <member name="M:CPF.Drawing.AbbreviatedGeometryParser.ParseToGeometryContext(CPF.Drawing.PathGeometry,System.String,System.Int32)">
            <summary>
            Parse a PathFigureCollection string
            </summary>
        </member>
        <member name="P:CPF.Drawing.Point.IsEmpty">
            <summary>
            是否为0,0
            </summary>
        </member>
        <member name="P:CPF.Drawing.Point.Y">
            <summary>
                Y - double.  Default value is 0.
            </summary>
        </member>
        <member name="M:CPF.Drawing.Point.op_Multiply(CPF.Drawing.Point,System.Single)">
            <summary>
            Multiplies a point by a factor coordinate-wise
            </summary>
            <param name="p">Point to multiply</param>
            <param name="k">Factor</param>
            <returns>Points having its coordinates multiplied</returns>
        </member>
        <member name="M:CPF.Drawing.Point.op_Multiply(System.Single,CPF.Drawing.Point)">
            <summary>
            Multiplies a point by a factor coordinate-wise
            </summary>
            <param name="p">Point to multiply</param>
            <param name="k">Factor</param>
            <returns>Points having its coordinates multiplied</returns>
        </member>
        <member name="M:CPF.Drawing.Point.op_Division(CPF.Drawing.Point,System.Single)">
            <summary>
            Divides a point by a factor coordinate-wise
            </summary>
            <param name="p">Point to divide by</param>
            <param name="k">Factor</param>
            <returns>Points having its coordinates divided</returns>
        </member>
        <member name="M:CPF.Drawing.Point.op_Explicit(System.String)~CPF.Drawing.Point">
            <summary>
            x,y
            </summary>
            <param name="point"></param>
        </member>
        <member name="M:CPF.Drawing.Point.WithX(System.Single)">
            <summary>
            Returns a new point with the specified X coordinate.
            </summary>
            <param name="x">The X coordinate.</param>
            <returns>The new point.</returns>
        </member>
        <member name="M:CPF.Drawing.Point.WithY(System.Single)">
            <summary>
            Returns a new point with the specified Y coordinate.
            </summary>
            <param name="y">The Y coordinate.</param>
            <returns>The new point.</returns>
        </member>
        <member name="M:CPF.Drawing.PointConverter.CanConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Type)">
            <!--未能插入某些或全部所包含的 XML --><include file="doc\PointConverter.uex" path="docs/doc[@for=&quot;PointConverter.CanConvertFrom&quot;]/*" />
            <devdoc>
                 Determines if this converter can convert an object in the given source
                 type to the native type of the converter.
            </devdoc>
        </member>
        <member name="M:CPF.Drawing.PointConverter.CanConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Type)">
            <!--未能插入某些或全部所包含的 XML --><include file="doc\PointConverter.uex" path="docs/doc[@for=&quot;PointConverter.CanConvertTo&quot;]/*" />
            <devdoc>
               <para>Gets a value indicating whether this converter can
                  convert an object to the given destination type using the context.</para>
            </devdoc>
        </member>
        <member name="M:CPF.Drawing.PointConverter.ConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object)">
            <!--未能插入某些或全部所包含的 XML --><include file="doc\PointConverter.uex" path="docs/doc[@for=&quot;PointConverter.ConvertFrom&quot;]/*" />
            <devdoc>
                 Converts the given object to the converter's native type.
            </devdoc>        
        </member>
        <member name="M:CPF.Drawing.PointConverter.ConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type)">
            <!--未能插入某些或全部所包含的 XML --><include file="doc\PointConverter.uex" path="docs/doc[@for=&quot;PointConverter.ConvertTo&quot;]/*" />
            <devdoc>
                 Converts the given object to another type.  The most common types to convert
                 are to and from a string object.  The default implementation will make a call
                 to ToString on the object if the object is valid and if the destination
                 type is string.  If this cannot convert to the desitnation type, this will
                 throw a NotSupportedException.
            </devdoc>
        </member>
        <member name="M:CPF.Drawing.PointConverter.CreateInstance(System.ComponentModel.ITypeDescriptorContext,System.Collections.IDictionary)">
            <!--未能插入某些或全部所包含的 XML --><include file="doc\PointConverter.uex" path="docs/doc[@for=&quot;PointConverter.CreateInstance&quot;]/*" />
            <devdoc>
                 Creates an instance of this type given a set of property values
                 for the object.  This is useful for objects that are immutable, but still
                 want to provide changable properties.
            </devdoc>
        </member>
        <member name="M:CPF.Drawing.PointConverter.GetCreateInstanceSupported(System.ComponentModel.ITypeDescriptorContext)">
            <!--未能插入某些或全部所包含的 XML --><include file="doc\PointConverter.uex" path="docs/doc[@for=&quot;PointConverter.GetCreateInstanceSupported&quot;]/*" />
            <devdoc>
                 Determines if changing a value on this object should require a call to
                 CreateInstance to create a new value.
            </devdoc>
        </member>
        <member name="M:CPF.Drawing.PointConverter.GetProperties(System.ComponentModel.ITypeDescriptorContext,System.Object,System.Attribute[])">
            <!--未能插入某些或全部所包含的 XML --><include file="doc\PointConverter.uex" path="docs/doc[@for=&quot;PointConverter.GetProperties&quot;]/*" />
            <devdoc>
                 Retrieves the set of properties for this type.  By default, a type has
                 does not return any properties.  An easy implementation of this method
                 can just call TypeDescriptor.GetProperties for the correct data type.
            </devdoc>
        </member>
        <member name="M:CPF.Drawing.PointConverter.GetPropertiesSupported(System.ComponentModel.ITypeDescriptorContext)">
            <!--未能插入某些或全部所包含的 XML --><include file="doc\PointConverter.uex" path="docs/doc[@for=&quot;PointConverter.GetPropertiesSupported&quot;]/*" />
            <devdoc>
                 Determines if this object supports properties.  By default, this
                 is false.
            </devdoc>
        </member>
        <member name="T:CPF.Drawing.RadialGradientBrush">
            <summary>
            径向渐变画笔
            </summary>
        </member>
        <member name="M:CPF.Drawing.RadialGradientBrush.#ctor(CPF.Drawing.Point,System.Single,CPF.Drawing.GradientStop[],CPF.Drawing.Matrix)">
            <summary>
            径向渐变画笔
            </summary>
        </member>
        <member name="P:CPF.Drawing.RadialGradientBrush.Center">
            <summary>
            获取或设置径向渐变的最外面圆的中心。
            </summary>
        </member>
        <member name="P:CPF.Drawing.RadialGradientBrush.Radius">
            <summary>
            获取或设置径向渐变的最外面圆半径。
            </summary>
        </member>
        <member name="M:CPF.Drawing.Rect.op_Inequality(CPF.Drawing.Rect,CPF.Drawing.Rect)">
            <summary>
            Compares two Rect instances for exact inequality.
            Note that float values can acquire error when operated upon, such that
            an exact comparison between two values which are logically equal may fail.
            Furthermore, using this equality operator, float.NaN is not equal to itself.
            </summary>
            <returns>
            bool - true if the two Rect instances are exactly unequal, false otherwise
            </returns>
            <param name='rect1'>The first Rect to compare</param>
            <param name='rect2'>The second Rect to compare</param>
        </member>
        <member name="M:CPF.Drawing.Rect.Equals(CPF.Drawing.Rect,CPF.Drawing.Rect)">
            <summary>
            Compares two Rect instances for object equality.  In this equality
            float.NaN is equal to itself, unlike in numeric equality.
            Note that float values can acquire error when operated upon, such that
            an exact comparison between two values which
            are logically equal may fail.
            </summary>
            <returns>
            bool - true if the two Rect instances are exactly equal, false otherwise
            </returns>
            <param name='rect1'>The first Rect to compare</param>
            <param name='rect2'>The second Rect to compare</param>
        </member>
        <member name="M:CPF.Drawing.Rect.Equals(System.Object)">
            <summary>
            Equals - compares this Rect with the passed in object.  In this equality
            float.NaN is equal to itself, unlike in numeric equality.
            Note that float values can acquire error when operated upon, such that
            an exact comparison between two values which
            are logically equal may fail.
            </summary>
            <returns>
            bool - true if the object is an instance of Rect and if it's equal to "this".
            </returns>
            <param name='o'>The object to compare to "this"</param>
        </member>
        <member name="M:CPF.Drawing.Rect.Equals(CPF.Drawing.Rect)">
            <summary>
            Equals - compares this Rect with the passed in object.  In this equality
            float.NaN is equal to itself, unlike in numeric equality.
            Note that float values can acquire error when operated upon, such that
            an exact comparison between two values which
            are logically equal may fail.
            </summary>
            <returns>
            bool - true if "value" is equal to "this".
            </returns>
            <param name='value'>The Rect to compare to "this"</param>
        </member>
        <member name="M:CPF.Drawing.Rect.GetHashCode">
            <summary>
            Returns the HashCode for this Rect
            </summary>
            <returns>
            int - the HashCode for this Rect
            </returns>
        </member>
        <member name="M:CPF.Drawing.Rect.ToString">
            <summary>
            Creates a string representation of this object based on the current culture.
            </summary>
            <returns>
            A string representation of this object.
            </returns>
        </member>
        <member name="M:CPF.Drawing.Rect.ToString(System.IFormatProvider)">
            <summary>
            Creates a string representation of this object based on the IFormatProvider
            passed in.  If the provider is null, the CurrentCulture is used.
            </summary>
            <returns>
            A string representation of this object.
            </returns>
        </member>
        <member name="M:CPF.Drawing.Rect.System#IFormattable#ToString(System.String,System.IFormatProvider)">
            <summary>
            Creates a string representation of this object based on the format string
            and IFormatProvider passed in.
            If the provider is null, the CurrentCulture is used.
            See the documentation for IFormattable for more information.
            </summary>
            <returns>
            A string representation of this object.
            </returns>
        </member>
        <member name="M:CPF.Drawing.Rect.ConvertToString(System.String,System.IFormatProvider)">
            <summary>
            Creates a string representation of this object based on the format string
            and IFormatProvider passed in.
            If the provider is null, the CurrentCulture is used.
            See the documentation for IFormattable for more information.
            </summary>
            <returns>
            A string representation of this object.
            </returns>
        </member>
        <member name="M:CPF.Drawing.Rect.#ctor(CPF.Drawing.Point@,CPF.Drawing.Size@)">
            <summary>
            Constructor which sets the initial values to the values of the parameters
            </summary>
        </member>
        <member name="M:CPF.Drawing.Rect.#ctor(System.Single@,System.Single@,System.Single@,System.Single@)">
            <summary>
            Constructor which sets the initial values to the values of the parameters.
            Width and Height must be non-negative
            </summary>
        </member>
        <member name="M:CPF.Drawing.Rect.#ctor(CPF.Drawing.Point,CPF.Drawing.Point)">
            <summary>
            Constructor which sets the initial values to bound the two points provided.
            </summary>
        </member>
        <member name="M:CPF.Drawing.Rect.#ctor(CPF.Drawing.Point,CPF.Drawing.Vector)">
            <summary>
            Constructor which sets the initial values to bound the point provided and the point
            which results from point + vector.
            </summary>
        </member>
        <member name="M:CPF.Drawing.Rect.#ctor(CPF.Drawing.Size)">
            <summary>
            Constructor which sets the initial values to bound the (0,0) point and the point 
            that results from (0,0) + size. 
            </summary>
        </member>
        <member name="P:CPF.Drawing.Rect.Empty">
            <summary>
            Empty - a static property which provides an Empty rectangle.  X and Y are positive-infinity
            and Width and Height are negative infinity.  This is the only situation where Width or
            Height can be negative.
            </summary>
        </member>
        <member name="P:CPF.Drawing.Rect.Location">
            <summary>
            Location - The Point representing the origin of the Rectangle
            </summary>
        </member>
        <member name="P:CPF.Drawing.Rect.Size">
            <summary>
            Size - The Size representing the area of the Rectangle
            </summary>
        </member>
        <member name="P:CPF.Drawing.Rect.X">
            <summary>
            X - The X coordinate of the Location.
            If this is the empty rectangle, the value will be positive infinity.
            If this rect is Empty, setting this property is illegal.
            </summary>
        </member>
        <member name="P:CPF.Drawing.Rect.Y">
            <summary>
            Y - The Y coordinate of the Location
            If this is the empty rectangle, the value will be positive infinity.
            If this rect is Empty, setting this property is illegal.
            </summary>
        </member>
        <member name="P:CPF.Drawing.Rect.Width">
            <summary>
            Width - The Width component of the Size.  This cannot be set to negative, and will only
            be negative if this is the empty rectangle, in which case it will be negative infinity.
            If this rect is Empty, setting this property is illegal.
            </summary>
        </member>
        <member name="P:CPF.Drawing.Rect.Height">
            <summary>
            Height - The Height component of the Size.  This cannot be set to negative, and will only
            be negative if this is the empty rectangle, in which case it will be negative infinity.
            If this rect is Empty, setting this property is illegal.
            </summary>
        </member>
        <member name="P:CPF.Drawing.Rect.Left">
            <summary>
            Left Property - This is a read-only alias for X
            If this is the empty rectangle, the value will be positive infinity.
            </summary>
        </member>
        <member name="P:CPF.Drawing.Rect.Top">
            <summary>
            Top Property - This is a read-only alias for Y
            If this is the empty rectangle, the value will be positive infinity.
            </summary>
        </member>
        <member name="P:CPF.Drawing.Rect.Right">
            <summary>
            Right Property - This is a read-only alias for X + Width
            If this is the empty rectangle, the value will be negative infinity.
            </summary>
        </member>
        <member name="P:CPF.Drawing.Rect.Bottom">
            <summary>
            Bottom Property - This is a read-only alias for Y + Height
            If this is the empty rectangle, the value will be negative infinity.
            </summary>
        </member>
        <member name="P:CPF.Drawing.Rect.TopLeft">
            <summary>
            TopLeft Property - This is a read-only alias for the Point which is at X, Y
            If this is the empty rectangle, the value will be positive infinity, positive infinity.
            </summary>
        </member>
        <member name="P:CPF.Drawing.Rect.TopRight">
            <summary>
            TopRight Property - This is a read-only alias for the Point which is at X + Width, Y
            If this is the empty rectangle, the value will be negative infinity, positive infinity.
            </summary>
        </member>
        <member name="P:CPF.Drawing.Rect.BottomLeft">
            <summary>
            BottomLeft Property - This is a read-only alias for the Point which is at X, Y + Height
            If this is the empty rectangle, the value will be positive infinity, negative infinity.
            </summary>
        </member>
        <member name="P:CPF.Drawing.Rect.BottomRight">
            <summary>
            BottomRight Property - This is a read-only alias for the Point which is at X + Width, Y + Height
            If this is the empty rectangle, the value will be negative infinity, negative infinity.
            </summary>
        </member>
        <member name="P:CPF.Drawing.Rect.Center">
            <summary>
            Gets the center point of the rectangle.
            </summary>
        </member>
        <member name="M:CPF.Drawing.Rect.Contains(CPF.Drawing.Point@)">
            <summary>
            Contains - Returns true if the Point is within the rectangle, inclusive of the edges.
            Returns false otherwise.
            </summary>
            <param name="point"> The point which is being tested </param>
            <returns>
            Returns true if the Point is within the rectangle.
            Returns false otherwise
            </returns>
        </member>
        <member name="M:CPF.Drawing.Rect.Contains(System.Single@,System.Single@)">
            <summary>
            Contains - Returns true if the Point represented by x,y is within the rectangle inclusive of the edges.
            Returns false otherwise.
            </summary>
            <param name="x"> X coordinate of the point which is being tested </param>
            <param name="y"> Y coordinate of the point which is being tested </param>
            <returns>
            Returns true if the Point represented by x,y is within the rectangle.
            Returns false otherwise.
            </returns>
        </member>
        <member name="M:CPF.Drawing.Rect.Contains(CPF.Drawing.Rect@)">
            <summary>
            Contains - Returns true if the Rect non-Empty and is entirely contained within the
            rectangle, inclusive of the edges.
            Returns false otherwise
            </summary>
        </member>
        <member name="M:CPF.Drawing.Rect.IntersectsWith(CPF.Drawing.Rect@)">
            <summary>
            IntersectsWith - Returns true if the Rect intersects with this rectangle
            Returns false otherwise.
            Note that if one edge is coincident, this is considered an intersection.
            </summary>
            <returns>
            Returns true if the Rect intersects with this rectangle
            Returns false otherwise.
            or Height
            </returns>
            <param name="rect"> Rect </param>
        </member>
        <member name="M:CPF.Drawing.Rect.Intersect(CPF.Drawing.Rect@)">
            <summary>
            Intersect - Update this rectangle to be the intersection of this and rect
            If either this or rect are Empty, the result is Empty as well.
            更新为交集
            </summary>
            <param name="rect"> The rect to intersect with this </param>
        </member>
        <member name="M:CPF.Drawing.Rect.Intersect(CPF.Drawing.Rect,CPF.Drawing.Rect)">
            <summary>
            Intersect - Return the result of the intersection of rect1 and rect2.
            If either this or rect are Empty, the result is Empty as well.
            </summary>
        </member>
        <member name="M:CPF.Drawing.Rect.Union(CPF.Drawing.Rect@)">
            <summary>
            Union - Update this rectangle to be the union of this and rect.
            </summary>
        </member>
        <member name="M:CPF.Drawing.Rect.Union(CPF.Drawing.Rect,CPF.Drawing.Rect)">
            <summary>
            Union - Return the result of the union of rect1 and rect2.
            </summary>
        </member>
        <member name="M:CPF.Drawing.Rect.Union(CPF.Drawing.Point)">
            <summary>
            Union - Update this rectangle to be the union of this and point.
            </summary>
        </member>
        <member name="M:CPF.Drawing.Rect.Union(CPF.Drawing.Rect,CPF.Drawing.Point)">
            <summary>
            Union - Return the result of the union of rect and point.
            </summary>
        </member>
        <member name="M:CPF.Drawing.Rect.Offset(CPF.Drawing.Vector)">
            <summary>
            Offset - translate the Location by the offset provided.
            If this is Empty, this method is illegal.
            </summary>
        </member>
        <member name="M:CPF.Drawing.Rect.Offset(System.Single,System.Single)">
            <summary>
            Offset - translate the Location by the offset provided
            If this is Empty, this method is illegal.
            </summary>
        </member>
        <member name="M:CPF.Drawing.Rect.Offset(CPF.Drawing.Rect,CPF.Drawing.Vector)">
            <summary>
            Offset - return the result of offsetting rect by the offset provided
            If this is Empty, this method is illegal.
            </summary>
        </member>
        <member name="M:CPF.Drawing.Rect.Offset(CPF.Drawing.Rect,System.Single,System.Single)">
            <summary>
            Offset - return the result of offsetting rect by the offset provided
            If this is Empty, this method is illegal.
            </summary>
        </member>
        <member name="M:CPF.Drawing.Rect.Inflate(CPF.Drawing.Size)">
            <summary>
            Inflate - inflate the bounds by the size provided, in all directions
            If this is Empty, this method is illegal.
            </summary>
        </member>
        <member name="M:CPF.Drawing.Rect.Inflate(System.Single,System.Single)">
            <summary>
            Inflate - inflate the bounds by the size provided, in all directions.
            If -width is > Width / 2 or -height is > Height / 2, this Rect becomes Empty
            If this is Empty, this method is illegal.
            </summary>
        </member>
        <member name="M:CPF.Drawing.Rect.Inflate(CPF.Drawing.Rect,CPF.Drawing.Size)">
            <summary>
            Inflate - return the result of inflating rect by the size provided, in all directions
            If this is Empty, this method is illegal.
            </summary>
        </member>
        <member name="M:CPF.Drawing.Rect.Inflate(CPF.Drawing.Rect,System.Single,System.Single)">
            <summary>
            Inflate - return the result of inflating rect by the size provided, in all directions
            If this is Empty, this method is illegal.
            </summary>
        </member>
        <member name="M:CPF.Drawing.Rect.Transform(CPF.Drawing.Rect,CPF.Drawing.Matrix)">
            <summary>
            Returns the bounds of the transformed rectangle.
            The Empty Rect is not affected by this call.
            </summary>
            <returns>
            The rect which results from the transformation.
            </returns>
            <param name="rect"> The Rect to transform. </param>
            <param name="matrix"> The Matrix by which to transform. </param>
        </member>
        <member name="M:CPF.Drawing.Rect.Transform(CPF.Drawing.Matrix)">
            <summary>
            Updates rectangle to be the bounds of the original value transformed
            by the matrix.
            The Empty Rect is not affected by this call.        
            </summary>
            <param name="matrix"> Matrix </param>
        </member>
        <member name="M:CPF.Drawing.Rect.Scale(System.Single,System.Single)">
            <summary>
            Scale the rectangle in the X and Y directions
            </summary>
            <param name="scaleX"> The scale in X </param>
            <param name="scaleY"> The scale in Y </param>
        </member>
        <member name="M:CPF.Drawing.Rect.ContainsInternal(System.Single@,System.Single@)">
            <summary>
            ContainsInternal - Performs just the "point inside" logic
            </summary>
            <returns>
            bool - true if the point is inside the rect
            </returns>
            <param name="x"> The x-coord of the point to test </param>
            <param name="y"> The y-coord of the point to test </param>
        </member>
        <member name="M:CPF.Drawing.Size.#ctor(System.Single@,System.Single@)">
            <summary>
            Constructor which sets the size's initial values.
            </summary>
            <param name="width"> float - The initial Width </param>
            <param name="height"> float - THe initial Height </param>
        </member>
        <member name="P:CPF.Drawing.Size.Empty">
            <summary>
            Empty - a static property which provides an Empty size.  Width and Height are 
            negative-infinity.  This is the only situation
            where size can be negative.
            </summary>
        </member>
        <member name="M:CPF.Drawing.Size.WithHeight(System.Single)">
            <summary>
            Returns a new <see cref="T:CPF.Drawing.Size"/> with the same width and the specified height.
            </summary>
            <param name="height">The height.</param>
            <returns>The new <see cref="T:CPF.Drawing.Size"/>.</returns>
        </member>
        <member name="M:CPF.Drawing.Size.WithWidth(System.Single)">
            <summary>
            Returns a new <see cref="T:CPF.Drawing.Size"/> with the same height and the specified width.
            </summary>
            <param name="width">The width.</param>
            <returns>The new <see cref="T:CPF.Drawing.Size"/>.</returns>
        </member>
        <member name="M:CPF.Drawing.Size.Inflate(CPF.Thickness)">
            <summary>
            Inflates the size by a <see cref="T:CPF.Thickness"/>. 放大
            </summary>
            <param name="thickness">The thickness.</param>
            <returns>The inflated size.</returns>
        </member>
        <member name="P:CPF.Drawing.Size.IsEmpty">
            <summary>
            IsEmpty - this returns true if this size is the Empty size.
            Note: If size is 0 this Size still contains a 0 or 1 dimensional set
            of points, so this method should not be used to check for 0 area.
            </summary>
        </member>
        <member name="P:CPF.Drawing.Size.Width">
            <summary>
            Width - Default is 0
            </summary>
        </member>
        <member name="P:CPF.Drawing.Size.Height">
            <summary>
            Height - Default is 0
            </summary>
        </member>
        <member name="M:CPF.Drawing.Size.Constrain(CPF.Drawing.Size)">
            <summary>
            Constrains the size. 最小尺寸
            </summary>
            <param name="constraint">The size to constrain to.</param>
            <returns>The constrained size.</returns>
        </member>
        <member name="M:CPF.Drawing.Size.Deflate(CPF.Thickness)">
            <summary>
            Deflates the size by a <see cref="T:CPF.Thickness"/>. 缩小
            </summary>
            <param name="thickness">The thickness.</param>
            <returns>The deflated size.</returns>
            <remarks>The deflated size cannot be less than 0.</remarks>
        </member>
        <member name="M:CPF.Drawing.Size.op_Explicit(CPF.Drawing.Size)~CPF.Drawing.Vector">
            <summary>
            Explicit conversion to Vector.
            </summary>
            <returns>
            Vector - A Vector equal to this Size
            </returns>
            <param name="size"> Size - the Size to convert to a Vector </param>
        </member>
        <member name="M:CPF.Drawing.Size.op_Explicit(CPF.Drawing.Size)~CPF.Drawing.Point">
            <summary>
            Explicit conversion to Point
            </summary>
            <returns>
            Point - A Point equal to this Size
            </returns>
            <param name="size"> Size - the Size to convert to a Point </param>
        </member>
        <member name="M:CPF.Drawing.Size.op_Multiply(CPF.Drawing.Size,System.Single)">
            <summary>
            Scales a size.
            </summary>
            <param name="size">The size</param>
            <param name="scale">The scaling factor.</param>
            <returns>The scaled size.</returns>
        </member>
        <member name="M:CPF.Drawing.Size.op_Division(CPF.Drawing.Size,System.Single)">
            <summary>
            Scales a size.
            </summary>
            <param name="size">The size</param>
            <param name="scale">The scaling factor.</param>
            <returns>The scaled size.</returns>
        </member>
        <member name="M:CPF.Drawing.Size.op_Equality(CPF.Drawing.Size,CPF.Drawing.Size)">
            <summary>
            Compares two Size instances for exact equality.
            Note that float values can acquire error when operated upon, such that
            an exact comparison between two values which are logically equal may fail.
            Furthermore, using this equality operator, float.NaN is not equal to itself.
            </summary>
            <returns>
            bool - true if the two Size instances are exactly equal, false otherwise
            </returns>
            <param name='size1'>The first Size to compare</param>
            <param name='size2'>The second Size to compare</param>
        </member>
        <member name="M:CPF.Drawing.Size.op_Inequality(CPF.Drawing.Size@,CPF.Drawing.Size@)">
            <summary>
            Compares two Size instances for exact inequality.
            Note that float values can acquire error when operated upon, such that
            an exact comparison between two values which are logically equal may fail.
            Furthermore, using this equality operator, float.NaN is not equal to itself.
            </summary>
            <returns>
            bool - true if the two Size instances are exactly unequal, false otherwise
            </returns>
            <param name='size1'>The first Size to compare</param>
            <param name='size2'>The second Size to compare</param>
        </member>
        <member name="M:CPF.Drawing.Size.Equals(CPF.Drawing.Size@,CPF.Drawing.Size@)">
            <summary>
            相等和 == 不完全一致的，==是大约
            </summary>
            <param name="size1"></param>
            <param name="size2"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.Drawing.Size.Equals(System.Object)">
            <summary>
            Equals - compares this Size with the passed in object.  In this equality
            float.NaN is equal to itself, unlike in numeric equality.
            Note that float values can acquire error when operated upon, such that
            an exact comparison between two values which
            are logically equal may fail.
            </summary>
            <returns>
            bool - true if the object is an instance of Size and if it's equal to "this".
            </returns>
            <param name='o'>The object to compare to "this"</param>
        </member>
        <member name="M:CPF.Drawing.Size.Equals(CPF.Drawing.Size)">
            <summary>
            Equals - compares this Size with the passed in object.  In this equality
            float.NaN is equal to itself, unlike in numeric equality.
            Note that float values can acquire error when operated upon, such that
            an exact comparison between two values which
            are logically equal may fail.
            </summary>
            <returns>
            bool - true if "value" is equal to "this".
            </returns>
            <param name='value'>The Size to compare to "this"</param>
        </member>
        <member name="M:CPF.Drawing.Size.GetHashCode">
            <summary>
            Returns the HashCode for this Size
            </summary>
            <returns>
            int - the HashCode for this Size
            </returns>
        </member>
        <member name="M:CPF.Drawing.Size.op_Explicit(System.String)~CPF.Drawing.Size">
            <summary>
            w,h
            </summary>
            <param name="point"></param>
        </member>
        <member name="M:CPF.Drawing.Size.ToString">
            <summary>
            Creates a string representation of this object based on the current culture.
            </summary>
            <returns>
            A string representation of this object.
            </returns>
        </member>
        <member name="M:CPF.Drawing.Size.ToString(System.IFormatProvider)">
            <summary>
            Creates a string representation of this object based on the IFormatProvider
            passed in.  If the provider is null, the CurrentCulture is used.
            </summary>
            <returns>
            A string representation of this object.
            </returns>
        </member>
        <member name="M:CPF.Drawing.Size.System#IFormattable#ToString(System.String,System.IFormatProvider)">
            <summary>
            Creates a string representation of this object based on the format string
            and IFormatProvider passed in.
            If the provider is null, the CurrentCulture is used.
            See the documentation for IFormattable for more information.
            </summary>
            <returns>
            A string representation of this object.
            </returns>
        </member>
        <member name="M:CPF.Drawing.Size.ConvertToString(System.String,System.IFormatProvider)">
            <summary>
            Creates a string representation of this object based on the format string
            and IFormatProvider passed in.
            If the provider is null, the CurrentCulture is used.
            See the documentation for IFormattable for more information.
            </summary>
            <returns>
            A string representation of this object.
            </returns>
        </member>
        <member name="M:CPF.Drawing.SizeConverter.CanConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Type)">
            <!--未能插入某些或全部所包含的 XML --><include file="doc\PointConverter.uex" path="docs/doc[@for=&quot;PointConverter.CanConvertFrom&quot;]/*" />
            <devdoc>
                 Determines if this converter can convert an object in the given source
                 type to the native type of the converter.
            </devdoc>
        </member>
        <member name="M:CPF.Drawing.SizeConverter.CanConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Type)">
            <devdoc>
               <para>Gets a value indicating whether this converter can
                  convert an object to the given destination type using the context.</para>
            </devdoc>
        </member>
        <member name="M:CPF.Drawing.SizeConverter.ConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object)">
            <devdoc>
                 Converts the given object to the converter's native type.
            </devdoc>        
        </member>
        <member name="M:CPF.Drawing.SizeConverter.ConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type)">
            <devdoc>
                 Converts the given object to another type.  The most common types to convert
                 are to and from a string object.  The default implementation will make a call
                 to ToString on the object if the object is valid and if the destination
                 type is string.  If this cannot convert to the desitnation type, this will
                 throw a NotSupportedException.
            </devdoc>
        </member>
        <member name="M:CPF.Drawing.SizeConverter.CreateInstance(System.ComponentModel.ITypeDescriptorContext,System.Collections.IDictionary)">
            <!--未能插入某些或全部所包含的 XML --><include file="doc\PointConverter.uex" path="docs/doc[@for=&quot;PointConverter.CreateInstance&quot;]/*" />
            <devdoc>
                 Creates an instance of this type given a set of property values
                 for the object.  This is useful for objects that are immutable, but still
                 want to provide changable properties.
            </devdoc>
        </member>
        <member name="M:CPF.Drawing.SizeConverter.GetCreateInstanceSupported(System.ComponentModel.ITypeDescriptorContext)">
            <!--未能插入某些或全部所包含的 XML --><include file="doc\PointConverter.uex" path="docs/doc[@for=&quot;PointConverter.GetCreateInstanceSupported&quot;]/*" />
            <devdoc>
                 Determines if changing a value on this object should require a call to
                 CreateInstance to create a new value.
            </devdoc>
        </member>
        <member name="M:CPF.Drawing.SizeConverter.GetProperties(System.ComponentModel.ITypeDescriptorContext,System.Object,System.Attribute[])">
            <!--未能插入某些或全部所包含的 XML --><include file="doc\PointConverter.uex" path="docs/doc[@for=&quot;PointConverter.GetProperties&quot;]/*" />
            <devdoc>
                 Retrieves the set of properties for this type.  By default, a type has
                 does not return any properties.  An easy implementation of this method
                 can just call TypeDescriptor.GetProperties for the correct data type.
            </devdoc>
        </member>
        <member name="M:CPF.Drawing.SizeConverter.GetPropertiesSupported(System.ComponentModel.ITypeDescriptorContext)">
            <!--未能插入某些或全部所包含的 XML --><include file="doc\PointConverter.uex" path="docs/doc[@for=&quot;PointConverter.GetPropertiesSupported&quot;]/*" />
            <devdoc>
                 Determines if this object supports properties.  By default, this
                 is false.
            </devdoc>
        </member>
        <member name="T:CPF.Drawing.SolidColorBrush">
            <summary>
            纯色笔刷
            </summary>
        </member>
        <member name="M:CPF.Drawing.SolidColorBrush.#ctor(CPF.Drawing.Color)">
            <summary>
            纯色笔刷
            </summary>
            <param name="color"></param>
        </member>
        <member name="T:CPF.Drawing.Stroke">
            <summary>
            线条样式
            </summary>
        </member>
        <member name="P:CPF.Drawing.Stroke.LineJoin">
            <summary>
            线条连接处形状
            </summary>
        </member>
        <member name="P:CPF.Drawing.Stroke.DashStyle">
            <summary>
            线条类型
            </summary>
        </member>
        <member name="P:CPF.Drawing.Stroke.Width">
            <summary>
            线条宽度
            </summary>
        </member>
        <member name="P:CPF.Drawing.Stroke.DashOffset">
            <summary>
            获取或设置直线的起点到短划线图案起始处的距离。
            </summary>
        </member>
        <member name="P:CPF.Drawing.Stroke.DashPattern">
            <summary>
            获取或设置自定义的短划线和空白区域的数组。只能偶数个
            </summary>
        </member>
        <member name="P:CPF.Drawing.Stroke.StrokeCap">
            <summary>
            线条两端样式
            </summary>
        </member>
        <member name="M:CPF.Drawing.Stroke.op_Implicit(System.String)~CPF.Drawing.Stroke">
            <summary>
            width[,Solid/Dash/Dot/DashDot/DashDotDot]
            </summary>
            <param name="n"></param>
        </member>
        <member name="F:CPF.Drawing.DashStyles.Dash">
            <summary>
            短线 3, 3
            </summary>
        </member>
        <member name="F:CPF.Drawing.DashStyles.Dot">
            <summary>
            点 1,1
            </summary>
        </member>
        <member name="F:CPF.Drawing.DashStyles.DashDot">
            <summary>
            3, 3, 1, 3
            </summary>
        </member>
        <member name="F:CPF.Drawing.DashStyles.DashDotDot">
            <summary>
             3, 3, 1, 3, 1, 3
            </summary>
        </member>
        <member name="F:CPF.Drawing.DashStyles.Custom">
            <summary>
            自定义
            </summary>
        </member>
        <member name="T:CPF.Drawing.TextAlignment">
            <summary>
            文档元素对齐方式
            </summary>
        </member>
        <member name="F:CPF.Drawing.TextAlignment.Left">
            <summary>
            In horizontal inline progression, the text is aligned on the left.
            </summary>
        </member>
        <member name="F:CPF.Drawing.TextAlignment.Right">
            <summary>
            In horizontal inline progression, the text is aligned on the right.
            </summary>
        </member>
        <member name="F:CPF.Drawing.TextAlignment.Center">
            <summary>
            The text is center aligned.
            </summary>
        </member>
        <member name="T:CPF.Drawing.TextDecoration">
            <summary>
            表示一个文本修饰，它是可添加到文本的视觉装饰（如下划线）。字符串格式： overline/Underline/Strikethrough [width] [Solid/Dash/Dot/DashDot/DashDotDot] [color]
            </summary>
        </member>
        <member name="M:CPF.Drawing.TextDecoration.op_Implicit(System.String)~CPF.Drawing.TextDecoration">
            <summary>
            字符串格式： overline/Underline/Strikethrough [width] [Solid/Dash/Dot/DashDot/DashDotDot] [color]
            </summary>
            <param name="n"></param>
        </member>
        <member name="F:CPF.Drawing.TextDecorationLocation.Underline">
            <summary>
            下划线的垂直位置。 这是默认值。
            </summary>
        </member>
        <member name="F:CPF.Drawing.TextDecorationLocation.OverLine">
            <summary>
            上划线的垂直位置。
            </summary>
        </member>
        <member name="F:CPF.Drawing.TextDecorationLocation.Strikethrough">
            <summary>
            删除线的垂直位置。
            </summary>
        </member>
        <member name="T:CPF.Drawing.TextureBrush">
            <summary>
            图片纹理笔刷
            </summary>
        </member>
        <member name="P:CPF.Drawing.TextureBrush.WrapMode">
            <summary>
            平铺方式
            </summary>
        </member>
        <member name="P:CPF.Drawing.TextureBrush.Matrix">
            <summary>
            变换
            </summary>
        </member>
        <member name="T:CPF.Drawing.WrapMode">
            <summary>
            指定纹理或渐变平铺小于所填充的区域时
            </summary>
        </member>
        <member name="F:CPF.Drawing.WrapMode.Tile">
            <summary>
            平铺渐变或纹理
            </summary>
        </member>
        <member name="F:CPF.Drawing.WrapMode.Clamp">
            <summary>
            纹理或渐变没有平铺
            </summary>
        </member>
        <member name="M:CPF.Drawing.Vector.op_Inequality(CPF.Drawing.Vector,CPF.Drawing.Vector)">
            <summary>
            Compares two Vector instances for exact inequality.
            Note that float values can acquire error when operated upon, such that
            an exact comparison between two values which are logically equal may fail.
            Furthermore, using this equality operator, float.NaN is not equal to itself.
            </summary>
            <returns>
            bool - true if the two Vector instances are exactly unequal, false otherwise
            </returns>
            <param name='vector1'>The first Vector to compare</param>
            <param name='vector2'>The second Vector to compare</param>
        </member>
        <member name="M:CPF.Drawing.Vector.Equals(CPF.Drawing.Vector,CPF.Drawing.Vector)">
            <summary>
            Compares two Vector instances for object equality.  In this equality
            float.NaN is equal to itself, unlike in numeric equality.
            Note that float values can acquire error when operated upon, such that
            an exact comparison between two values which
            are logically equal may fail.
            </summary>
            <returns>
            bool - true if the two Vector instances are exactly equal, false otherwise
            </returns>
            <param name='vector1'>The first Vector to compare</param>
            <param name='vector2'>The second Vector to compare</param>
        </member>
        <member name="M:CPF.Drawing.Vector.Equals(System.Object)">
            <summary>
            Equals - compares this Vector with the passed in object.  In this equality
            float.NaN is equal to itself, unlike in numeric equality.
            Note that float values can acquire error when operated upon, such that
            an exact comparison between two values which
            are logically equal may fail.
            </summary>
            <returns>
            bool - true if the object is an instance of Vector and if it's equal to "this".
            </returns>
            <param name='o'>The object to compare to "this"</param>
        </member>
        <member name="M:CPF.Drawing.Vector.Equals(CPF.Drawing.Vector)">
            <summary>
            Equals - compares this Vector with the passed in object.  In this equality
            float.NaN is equal to itself, unlike in numeric equality.
            Note that float values can acquire error when operated upon, such that
            an exact comparison between two values which
            are logically equal may fail.
            </summary>
            <returns>
            bool - true if "value" is equal to "this".
            </returns>
            <param name='value'>The Vector to compare to "this"</param>
        </member>
        <member name="M:CPF.Drawing.Vector.GetHashCode">
            <summary>
            Returns the HashCode for this Vector
            </summary>
            <returns>
            int - the HashCode for this Vector
            </returns>
        </member>
        <member name="P:CPF.Drawing.Vector.X">
            <summary>
                X - float.  Default value is 0.
            </summary>
        </member>
        <member name="P:CPF.Drawing.Vector.Y">
            <summary>
                Y - float.  Default value is 0.
            </summary>
        </member>
        <member name="M:CPF.Drawing.Vector.ToString">
            <summary>
            Creates a string representation of this object based on the current culture.
            </summary>
            <returns>
            A string representation of this object.
            </returns>
        </member>
        <member name="M:CPF.Drawing.Vector.ToString(System.IFormatProvider)">
            <summary>
            Creates a string representation of this object based on the IFormatProvider
            passed in.  If the provider is null, the CurrentCulture is used.
            </summary>
            <returns>
            A string representation of this object.
            </returns>
        </member>
        <member name="M:CPF.Drawing.Vector.System#IFormattable#ToString(System.String,System.IFormatProvider)">
            <summary>
            Creates a string representation of this object based on the format string
            and IFormatProvider passed in.
            If the provider is null, the CurrentCulture is used.
            See the documentation for IFormattable for more information.
            </summary>
            <returns>
            A string representation of this object.
            </returns>
        </member>
        <member name="M:CPF.Drawing.Vector.ConvertToString(System.String,System.IFormatProvider)">
            <summary>
            Creates a string representation of this object based on the format string
            and IFormatProvider passed in.
            If the provider is null, the CurrentCulture is used.
            See the documentation for IFormattable for more information.
            </summary>
            <returns>
            A string representation of this object.
            </returns>
        </member>
        <member name="P:CPF.Drawing.Vector.Length">
            <summary>
            Length Property - the length of this Vector
            </summary>
        </member>
        <member name="P:CPF.Drawing.Vector.LengthSquared">
            <summary>
            LengthSquared Property - the squared length of this Vector
            </summary>
        </member>
        <member name="M:CPF.Drawing.Vector.Normalize">
            <summary>
            Normalize - Updates this Vector to maintain its direction, but to have a length
            of 1.  This is equivalent to dividing this Vector by Length
            </summary>
        </member>
        <member name="M:CPF.Drawing.Vector.CrossProduct(CPF.Drawing.Vector,CPF.Drawing.Vector)">
            <summary>
            CrossProduct - Returns the cross product: vector1.X*vector2.Y - vector1.Y*vector2.X
            </summary>
            <returns>
            Returns the cross product: vector1.X*vector2.Y - vector1.Y*vector2.X
            </returns>
            <param name="vector1"> The first Vector </param>
            <param name="vector2"> The second Vector </param>
        </member>
        <member name="M:CPF.Drawing.Vector.AngleBetween(CPF.Drawing.Vector,CPF.Drawing.Vector)">
            <summary>
            AngleBetween - the angle between 2 vectors
            </summary>
            <returns>
            Returns the the angle in degrees between vector1 and vector2
            </returns>
            <param name="vector1"> The first Vector </param>
            <param name="vector2"> The second Vector </param>
        </member>
        <member name="M:CPF.Drawing.Vector.op_UnaryNegation(CPF.Drawing.Vector)">
            <summary>
            Operator -Vector (unary negation)
            </summary>
        </member>
        <member name="M:CPF.Drawing.Vector.Negate">
            <summary>
            Negates the values of X and Y on this Vector
            </summary>
        </member>
        <member name="M:CPF.Drawing.Vector.op_Addition(CPF.Drawing.Vector,CPF.Drawing.Vector)">
            <summary>
            Operator Vector + Vector
            </summary>
        </member>
        <member name="M:CPF.Drawing.Vector.Add(CPF.Drawing.Vector,CPF.Drawing.Vector)">
            <summary>
            Add: Vector + Vector
            </summary>
        </member>
        <member name="M:CPF.Drawing.Vector.op_Subtraction(CPF.Drawing.Vector,CPF.Drawing.Vector)">
            <summary>
            Operator Vector - Vector
            </summary>
        </member>
        <member name="M:CPF.Drawing.Vector.Subtract(CPF.Drawing.Vector,CPF.Drawing.Vector)">
            <summary>
            Subtract: Vector - Vector
            </summary>
        </member>
        <member name="M:CPF.Drawing.Vector.op_Addition(CPF.Drawing.Vector,CPF.Drawing.Point)">
            <summary>
            Operator Vector + Point
            </summary>
        </member>
        <member name="M:CPF.Drawing.Vector.Add(CPF.Drawing.Vector,CPF.Drawing.Point)">
            <summary>
            Add: Vector + Point
            </summary>
        </member>
        <member name="M:CPF.Drawing.Vector.op_Multiply(CPF.Drawing.Vector,System.Single)">
            <summary>
            Operator Vector * float
            </summary>
        </member>
        <member name="M:CPF.Drawing.Vector.Multiply(CPF.Drawing.Vector,System.Single)">
            <summary>
            Multiply: Vector * float
            </summary>
        </member>
        <member name="M:CPF.Drawing.Vector.op_Multiply(System.Single,CPF.Drawing.Vector)">
            <summary>
            Operator float * Vector
            </summary>
        </member>
        <member name="M:CPF.Drawing.Vector.Multiply(System.Single,CPF.Drawing.Vector)">
            <summary>
            Multiply: float * Vector
            </summary>
        </member>
        <member name="M:CPF.Drawing.Vector.op_Division(CPF.Drawing.Vector,System.Single)">
            <summary>
            Operator Vector / float
            </summary>
        </member>
        <member name="M:CPF.Drawing.Vector.Divide(CPF.Drawing.Vector,System.Single)">
            <summary>
            Multiply: Vector / float
            </summary>
        </member>
        <member name="M:CPF.Drawing.Vector.op_Multiply(CPF.Drawing.Vector,CPF.Drawing.Matrix)">
            <summary>
            Operator Vector * Matrix
            </summary>
        </member>
        <member name="M:CPF.Drawing.Vector.Multiply(CPF.Drawing.Vector,CPF.Drawing.Matrix)">
            <summary>
            Multiply: Vector * Matrix
            </summary>
        </member>
        <member name="M:CPF.Drawing.Vector.op_Multiply(CPF.Drawing.Vector,CPF.Drawing.Vector)">
            <summary>
            Operator Vector * Vector, interpreted as their dot product
            </summary>
        </member>
        <member name="M:CPF.Drawing.Vector.Multiply(CPF.Drawing.Vector,CPF.Drawing.Vector)">
            <summary>
            Multiply - Returns the dot product: vector1.X*vector2.X + vector1.Y*vector2.Y
            </summary>
            <returns>
            Returns the dot product: vector1.X*vector2.X + vector1.Y*vector2.Y
            </returns>
            <param name="vector1"> The first Vector </param>
            <param name="vector2"> The second Vector </param>
        </member>
        <member name="M:CPF.Drawing.Vector.Determinant(CPF.Drawing.Vector,CPF.Drawing.Vector)">
            <summary>
            Determinant - Returns the determinant det(vector1, vector2)
            </summary>
            <returns>
            Returns the determinant: vector1.X*vector2.Y - vector1.Y*vector2.X
            </returns>
            <param name="vector1"> The first Vector </param>
            <param name="vector2"> The second Vector </param>
        </member>
        <member name="M:CPF.Drawing.Vector.op_Explicit(CPF.Drawing.Vector)~CPF.Drawing.Size">
            <summary>
            Explicit conversion to Size.  Note that since Size cannot contain negative values,
            the resulting size will contains the absolute values of X and Y
            </summary>
            <returns>
            Size - A Size equal to this Vector
            </returns>
            <param name="vector"> Vector - the Vector to convert to a Size </param>
        </member>
        <member name="M:CPF.Drawing.Vector.op_Explicit(CPF.Drawing.Vector)~CPF.Drawing.Point">
            <summary>
            Explicit conversion to Point
            </summary>
            <returns>
            Point - A Point equal to this Vector
            </returns>
            <param name="vector"> Vector - the Vector to convert to a Point </param>
        </member>
        <member name="T:CPF.Effects.BlurEffect">
            <summary>
            模糊特效
            </summary>
        </member>
        <member name="M:CPF.Effects.BlurEffect.#ctor">
            <summary>
            模糊特效
            </summary>
        </member>
        <member name="P:CPF.Effects.BlurEffect.BlurRadius">
            <summary>
            模糊半径
            </summary>
        </member>
        <member name="M:CPF.Effects.BlurEffect.GaussianBlur(CPF.Drawing.Bitmap,System.Int32,CPF.Drawing.Rect)">
            <summary>
            高斯模糊，指针实现
            </summary>
            <param name="bmp"></param>
            <param name="amount"></param>
            <param name="rect">处理区域</param>
            <returns></returns>
        </member>
        <member name="M:CPF.Effects.BlurEffect.GaussianBlurShadow(CPF.Drawing.Bitmap,System.Int32,CPF.Drawing.Color,CPF.Drawing.Rect)">
            <summary>
            高斯模糊阴影，不透明度来区分边界
            </summary>
            <param name="bmp"></param>
            <param name="amount"></param>
            <param name="color"></param>
            <param name="rect"></param>
            <returns></returns>
        </member>
        <member name="F:CPF.Effects.BlurEffect.KernelGaussianBlur5x5">
            <summary>
             Gaussian blur kernel with the size 5x5
            </summary>
        </member>
        <member name="F:CPF.Effects.BlurEffect.KernelGaussianBlur3x3">
            <summary>
             Gaussian blur kernel with the size 3x3
            </summary>
        </member>
        <member name="F:CPF.Effects.BlurEffect.KernelSharpen3x3">
            <summary>
             Sharpen kernel with the size 3x3
            </summary>
        </member>
        <member name="M:CPF.Effects.BlurEffect.Convolute(CPF.Drawing.Bitmap,System.Int32[0:,0:])">
            <summary>
            卷积计算
            </summary>
            <param name="bmp"></param>
            <param name="kernel">The kernel used for convolution.</param>
            <returns>A new Bitmap that is a filtered version of the input.</returns>
        </member>
        <member name="M:CPF.Effects.BlurEffect.Convolute(CPF.Drawing.Bitmap,System.Int32[0:,0:],System.Int32,System.Int32)">
            <summary>
            Creates a new filtered WriteableBitmap.
            </summary>
            <param name="bmp">The Bitmap.</param>
            <param name="kernel">The kernel used for convolution.</param>
            <param name="kernelFactorSum">The factor used for the kernel summing.</param>
            <param name="kernelOffsetSum">The offset used for the kernel summing.</param>
            <returns>A new Bitmap that is a filtered version of the input.</returns>
        </member>
        <member name="T:CPF.Effects.Effect">
            <summary>
            位图特效
            </summary>
        </member>
        <member name="M:CPF.Effects.Effect.OverrideRenderRect(CPF.Drawing.Rect)">
            <summary>
            调整相对根元素的矩形渲染区域，渲染区域只能变大或者不变，不能变小
            </summary>
            <param name="rect"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.Effects.Effect.DoEffect(CPF.Drawing.DrawingContext,CPF.Drawing.Bitmap)">
            <summary>
            执行位图特效
            </summary>
            <param name="dc"></param>
            <param name="bitmap">控件位图图像，位图尺寸和根元素尺寸一样</param>
        </member>
        <member name="T:CPF.Effects.EffectGroup">
            <summary>
            应用多个位图特效
            </summary>
        </member>
        <member name="M:CPF.Effects.EffectGroup.#ctor">
            <summary>
            应用多个位图特效
            </summary>
        </member>
        <member name="T:CPF.Effects.GrayScaleEffect">
            <summary>
            灰度图
            </summary>
        </member>
        <member name="M:CPF.Effects.GrayScaleEffect.#ctor">
            <summary>
            灰度图
            </summary>
        </member>
        <member name="M:CPF.Effects.GrayScaleEffect.GrayScale(CPF.Drawing.Bitmap)">
            <summary>
            将图片转换成黑白色效果
            </summary>
            <param name="bmp">原图</param>
        </member>
        <member name="T:CPF.Effects.MosaicEffect">
            <summary>
            马赛克特效
            </summary>
        </member>
        <member name="M:CPF.Effects.MosaicEffect.#ctor">
            <summary>
            马赛克特效
            </summary>
        </member>
        <member name="P:CPF.Effects.MosaicEffect.Size">
            <summary>
            马赛克大小
            </summary>
        </member>
        <member name="T:CPF.Effects.OpacityEffect">
            <summary>
            调整控件透明度
            </summary>
        </member>
        <member name="P:CPF.Effects.OpacityEffect.Opacity">
            <summary>
            不透明度0-1
            </summary>
        </member>
        <member name="T:CPF.Effects.PiecesEffect">
            <summary>
            切割特效，用来做动画
            </summary>
        </member>
        <member name="P:CPF.Effects.PiecesEffect.Value">
            <summary>
            动画进度值0-1
            </summary>
        </member>
        <member name="P:CPF.Effects.PiecesEffect.RowCount">
            <summary>
            切割行数
            </summary>
        </member>
        <member name="P:CPF.Effects.PiecesEffect.ColCount">
            <summary>
            切割列数
            </summary>
        </member>
        <member name="T:CPF.Effects.ReliefEffect">
            <summary>
            浮雕
            </summary>
        </member>
        <member name="M:CPF.Effects.ReliefEffect.#ctor">
            <summary>
            浮雕
            </summary>
        </member>
        <member name="T:CPF.Effects.StackBlur">
            <summary> 
            高斯模糊高性能算法
            </summary>
        </member>
        <member name="M:CPF.Effects.StackBlur.Process(CPF.Drawing.Bitmap,System.Int32)">
            <summary>
            快速模糊
            </summary>
            <param name="bitmap">The bitmap to process.</param>
            <param name="radius">Gaussian blur radius.</param>
        </member>
        <member name="M:CPF.Effects.StackBlur.ProcessOwner(CPF.Drawing.Bitmap,System.Int32)">
            <summary>
            快速模糊
            </summary>
            <param name="bitmap"></param>
            <param name="radius"></param>
        </member>
        <member name="M:CPF.Effects.StackBlur.ProcessShadow(CPF.Drawing.Bitmap,System.Int32,CPF.Drawing.Rect)">
            <summary>
            处理阴影，
            </summary>
            <param name="bitmap"></param>
            <param name="radius"></param>
            <param name="rect">过滤掉中间的区域，提高性能</param>
        </member>
        <member name="T:CPF.FloatField">
            <summary>
            单精度浮点带单位
            </summary>
        </member>
        <member name="M:CPF.FloatField.#ctor(System.Single@,CPF.Unit@)">
            <summary>
            单精度浮点带单位
            </summary>
            <param name="value">如果value等于 float.NaN 一般相当于Auto</param>
            <param name="unit"></param>
        </member>
        <member name="P:CPF.FloatField.Value">
            <summary>
            如果value等于 float.NaN 一般相当于Auto
            </summary>
        </member>
        <member name="P:CPF.FloatField.Unit">
            <summary>
            单位
            </summary>
        </member>
        <member name="M:CPF.FloatField.GetActualValue(System.Single@)">
            <summary>
            计算实际值
            </summary>
            <param name="value">单位为百分比的时候用的计算值</param>
            <returns></returns>
        </member>
        <member name="M:CPF.FloatField.op_Implicit(System.Double)~CPF.FloatField">
            <summary>
            双精度转化为单精度，单位默认
            </summary>
            <param name="n"></param>
        </member>
        <member name="M:CPF.FloatField.op_Implicit(System.String)~CPF.FloatField">
            <summary>
            数字%或者直接数字或者auto
            </summary>
            <param name="n"></param>
        </member>
        <member name="F:CPF.Unit.Default">
            <summary>
            默认，96DPI中1像素
            </summary>
        </member>
        <member name="F:CPF.Unit.Percent">
            <summary>
            百分比 %
            </summary>
        </member>
        <member name="M:CPF.FloatUtil.GreaterThan(System.Single,System.Single)">
            <summary>
            GreaterThan - Returns whether or not the first float is greater than the second float.
            That is, whether or not the first is strictly greater than *and* not within epsilon of
            the other number.  Note that this epsilon is proportional to the numbers themselves
            to that AreClose survives scalar multiplication.  Note,
            There are plenty of ways for this to return false even for numbers which
            are theoretically identical, so no code calling this should fail to work if this 
            returns false.  This is important enough to repeat:
            NB: NO CODE CALLING THIS FUNCTION SHOULD DEPEND ON ACCURATE RESULTS - this should be
            used for optimizations *only*.
            </summary>
            <returns>
            bool - the result of the GreaterThan comparision.
            </returns>
            <param name="value1"> The first Float to compare. </param>
            <param name="value2"> The second Float to compare. </param>
        </member>
        <member name="M:CPF.FloatUtil.AreClose(System.Single,System.Single)">
            <summary>
            AreClose
            </summary>
        </member>
        <member name="M:CPF.FloatUtil.IsOne(System.Single)">
            <summary>
            IsOne
            </summary>
        </member>
        <member name="M:CPF.FloatUtil.IsZero(System.Single)">
            <summary>
            IsZero
            </summary>
        </member>
        <member name="M:CPF.FloatUtil.IsCloseToDivideByZero(System.Single,System.Single)">
            <summary>
            IsCloseToDivideByZero
            </summary>
        </member>
        <member name="T:CPF.HybridDictionary`2">
            <summary>
            自动切换List 和 Dictionary，如果4条记录以下的，比直接使用Dictionary稍微省一丢丢内存
            </summary>
            <typeparam name="TKey"></typeparam>
            <typeparam name="TValue"></typeparam>
        </member>
        <member name="T:CPF.IEditor">
            <summary>
            定义一个编辑器
            </summary>
        </member>
        <member name="P:CPF.IEditor.IsInputMethodEnabled">
            <summary>
            是否启用输入法，主要描述的是中文这类输入法
            </summary>
        </member>
        <member name="T:CPF.Input.Clipboard">
            <summary>
            剪贴板
            </summary>
        </member>
        <member name="M:CPF.Input.DragDropDevice.HitTest(CPF.Drawing.Point,CPF.VisibleUIElement,CPF.Input.DragEventArgs,CPF.Input.EventType)">
            <summary>
            命中测试可视范围的UI元素，返回被命中到的UI元素
            </summary>
            <param name="point"></param>
            <param name="element"></param>
            <param name="e"></param>
            <param name="eventName"></param>
            <returns></returns>
        </member>
        <member name="P:CPF.Input.GotFocusEventArgs.NavigationMethod">
            <summary>
            获取或设置指示焦点更改发生方式的值。
            </summary>
        </member>
        <member name="T:CPF.Input.IDataObject">
            <summary>
            Interface to access information about the data of a drag-and-drop or Clipboard operation.
            </summary>
        </member>
        <member name="M:CPF.Input.IDataObject.Contains(CPF.Input.DataFormat)">
            <summary>
            Checks whether a given DataFormat is present in this object
            <seealso cref="T:CPF.Input.DataFormat"/>
            </summary>
        </member>
        <member name="M:CPF.Input.IDataObject.GetData(CPF.Input.DataFormat)">
            <summary>
            Tries to get the data of the given DataFormat.
            </summary>
        </member>
        <member name="F:CPF.Input.DataFormat.Image">
            <summary>
            Image对象
            </summary>
        </member>
        <member name="F:CPF.Input.DataFormat.FileNames">
            <summary>
            文件名字符串数组
            </summary>
        </member>
        <member name="T:CPF.Input.InputDevice">
            <summary>
                Provides the base class for all input devices.
            </summary>
        </member>
        <member name="M:CPF.Input.InputDevice.#ctor(CPF.Input.InputManager)">
            <summary>
             Constructs an instance of the InputDevice class.
            </summary>
        </member>
        <member name="M:CPF.Input.InputEventArgs.#ctor(CPF.Input.InputDevice)">
            <summary>
                Initializes a new instance of the InputEventArgs class.
            </summary>
            <param name="inputDevice">
                The input device to associate with this event.
            </param>
            <param name="timestamp">
                The time when the input occured. 
            </param>
        </member>
        <member name="P:CPF.Input.InputEventArgs.Device">
            <summary>
                Read-only access to the input device that initiated this
                event.
            </summary>
        </member>
        <member name="P:CPF.Input.InputManager.MouseDevice">
            <summary>
             Read-only access to the mouse device associated with this event.
            </summary>
        </member>
        <member name="T:CPF.Input.Keys">
            <summary>
            Defines the keys available on a keyboard.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.None">
            <summary>
            No key pressed.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.Cancel">
            <summary>
            The Cancel key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.Back">
            <summary>
            The Back key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.Tab">
            <summary>
            The Tab key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.LineFeed">
            <summary>
            The Linefeed key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.Clear">
            <summary>
            The Clear key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.Return">
            <summary>
            The Return key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.Enter">
            <summary>
            The Enter key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.Pause">
            <summary>
            The Pause key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.CapsLock">
            <summary>
            The Caps Lock key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.Capital">
            <summary>
            The Caps Lock key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.HangulMode">
            <summary>
            The IME Hangul mode key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.KanaMode">
            <summary>
            The IME Kana mode key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.JunjaMode">
            <summary>
            The IME Junja mode key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.FinalMode">
            <summary>
            The IME Final mode key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.KanjiMode">
            <summary>
            The IME Kanji mode key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.HanjaMode">
            <summary>
            The IME Hanja mode key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.Escape">
            <summary>
            The Escape key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.ImeConvert">
            <summary>
            The IME Convert key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.ImeNonConvert">
            <summary>
            The IME NonConvert key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.ImeAccept">
            <summary>
            The IME Accept key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.ImeModeChange">
            <summary>
            The IME Mode change key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.Space">
            <summary>
            The space bar.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.PageUp">
            <summary>
            The Page Up key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.Prior">
            <summary>
            The Page Up key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.PageDown">
            <summary>
            The Page Down key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.Next">
            <summary>
            The Page Down key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.End">
            <summary>
            The End key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.Home">
            <summary>
            The Home key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.Left">
            <summary>
            The Left arrow key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.Up">
            <summary>
            The Up arrow key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.Right">
            <summary>
            The Right arrow key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.Down">
            <summary>
            The Down arrow key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.Select">
            <summary>
            The Select key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.Print">
            <summary>
            The Print key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.Execute">
            <summary>
            The Execute key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.Snapshot">
            <summary>
            The Print Screen key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.PrintScreen">
            <summary>
            The Print Screen key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.Insert">
            <summary>
            The Insert key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.Delete">
            <summary>
            The Delete key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.Help">
            <summary>
            The Help key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.D0">
            <summary>
            The 0 key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.D1">
            <summary>
            The 1 key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.D2">
            <summary>
            The 2 key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.D3">
            <summary>
            The 3 key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.D4">
            <summary>
            The 4 key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.D5">
            <summary>
            The 5 key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.D6">
            <summary>
            The 6 key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.D7">
            <summary>
            The 7 key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.D8">
            <summary>
            The 8 key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.D9">
            <summary>
            The 9 key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.A">
            <summary>
            The A key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.B">
            <summary>
            The B key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.C">
            <summary>
            The C key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.D">
            <summary>
            The D key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.E">
            <summary>
            The E key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.F">
            <summary>
            The F key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.G">
            <summary>
            The G key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.H">
            <summary>
            The H key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.I">
            <summary>
            The I key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.J">
            <summary>
            The J key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.K">
            <summary>
            The K key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.L">
            <summary>
            The L key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.M">
            <summary>
            The M key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.N">
            <summary>
            The N key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.O">
            <summary>
            The O key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.P">
            <summary>
            The P key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.Q">
            <summary>
            The Q key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.R">
            <summary>
            The R key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.S">
            <summary>
            The S key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.T">
            <summary>
            The T key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.U">
            <summary>
            The U key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.V">
            <summary>
            The V key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.W">
            <summary>
            The W key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.X">
            <summary>
            The X key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.Y">
            <summary>
            The Y key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.Z">
            <summary>
            The Z key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.LWin">
            <summary>
            The left Windows key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.RWin">
            <summary>
            The right Windows key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.Apps">
            <summary>
            The Application key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.Sleep">
            <summary>
            The Sleep key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.NumPad0">
            <summary>
            The 0 key on the numeric keypad.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.NumPad1">
            <summary>
            The 1 key on the numeric keypad.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.NumPad2">
            <summary>
            The 2 key on the numeric keypad.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.NumPad3">
            <summary>
            The 3 key on the numeric keypad.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.NumPad4">
            <summary>
            The 4 key on the numeric keypad.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.NumPad5">
            <summary>
            The 5 key on the numeric keypad.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.NumPad6">
            <summary>
            The 6 key on the numeric keypad.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.NumPad7">
            <summary>
            The 7 key on the numeric keypad.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.NumPad8">
            <summary>
            The 8 key on the numeric keypad.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.NumPad9">
            <summary>
            The 9 key on the numeric keypad.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.Multiply">
            <summary>
            The Multiply key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.Add">
            <summary>
            The Add key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.Separator">
            <summary>
            The Separator key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.Subtract">
            <summary>
            The Subtract key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.Decimal">
            <summary>
            The Decimal key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.Divide">
            <summary>
            The Divide key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.F1">
            <summary>
            The F1 key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.F2">
            <summary>
            The F2 key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.F3">
            <summary>
            The F3 key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.F4">
            <summary>
            The F4 key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.F5">
            <summary>
            The F5 key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.F6">
            <summary>
            The F6 key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.F7">
            <summary>
            The F7 key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.F8">
            <summary>
            The F8 key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.F9">
            <summary>
            The F9 key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.F10">
            <summary>
            The F10 key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.F11">
            <summary>
            The F11 key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.F12">
            <summary>
            The F12 key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.F13">
            <summary>
            The F13 key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.F14">
            <summary>
            The F14 key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.F15">
            <summary>
            The F15 key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.F16">
            <summary>
            The F16 key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.F17">
            <summary>
            The F17 key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.F18">
            <summary>
            The F18 key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.F19">
            <summary>
            The F19 key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.F20">
            <summary>
            The F20 key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.F21">
            <summary>
            The F21 key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.F22">
            <summary>
            The F22 key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.F23">
            <summary>
            The F23 key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.F24">
            <summary>
            The F24 key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.NumLock">
            <summary>
            The Numlock key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.Scroll">
            <summary>
            The Scroll key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.LeftShift">
            <summary>
            The left Shift key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.RightShift">
            <summary>
            The right Shift key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.LeftCtrl">
            <summary>
            The left Ctrl key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.RightCtrl">
            <summary>
            The right Ctrl key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.LeftAlt">
            <summary>
            The left Alt key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.RightAlt">
            <summary>
            The right Alt key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.BrowserBack">
            <summary>
            The browser Back key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.BrowserForward">
            <summary>
            The browser Forward key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.BrowserRefresh">
            <summary>
            The browser Refresh key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.BrowserStop">
            <summary>
            The browser Stop key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.BrowserSearch">
            <summary>
            The browser Search key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.BrowserFavorites">
            <summary>
            The browser Favorites key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.BrowserHome">
            <summary>
            The browser Home key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.VolumeMute">
            <summary>
            The Volume Mute key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.VolumeDown">
            <summary>
            The Volume Down key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.VolumeUp">
            <summary>
            The Volume Up key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.MediaNextTrack">
            <summary>
            The media Next Track key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.MediaPreviousTrack">
            <summary>
            The media Previous Track key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.MediaStop">
            <summary>
            The media Stop key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.MediaPlayPause">
            <summary>
            The media Play/Pause key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.LaunchMail">
            <summary>
            The Launch Mail key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.SelectMedia">
            <summary>
            The Select Media key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.LaunchApplication1">
            <summary>
            The Launch Application 1 key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.LaunchApplication2">
            <summary>
            The Launch Application 2 key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.OemSemicolon">
            <summary>
            The OEM Semicolon key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.Oem1">
            <summary>
            The OEM 1 key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.OemPlus">
            <summary>
            The OEM Plus key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.OemComma">
            <summary>
            The OEM Comma key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.OemMinus">
            <summary>
            The OEM Minus key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.OemPeriod">
            <summary>
            The OEM Period key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.OemQuestion">
            <summary>
            The OEM Question Mark key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.Oem2">
            <summary>
            The OEM 2 key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.OemTilde">
            <summary>
            The OEM Tilde key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.Oem3">
            <summary>
            The OEM 3 key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.AbntC1">
            <summary>
            The ABNT_C1 (Brazilian) key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.AbntC2">
            <summary>
            The ABNT_C2 (Brazilian) key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.OemOpenBrackets">
            <summary>
            The OEM Open Brackets key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.Oem4">
            <summary>
            The OEM 4 key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.OemPipe">
            <summary>
            The OEM Pipe key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.Oem5">
            <summary>
            The OEM 5 key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.OemCloseBrackets">
            <summary>
            The OEM Close Brackets key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.Oem6">
            <summary>
            The OEM 6 key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.OemQuotes">
            <summary>
            The OEM Quotes key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.Oem7">
            <summary>
            The OEM 7 key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.Oem8">
            <summary>
            The OEM 8 key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.OemBackslash">
            <summary>
            The OEM Backslash key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.Oem102">
            <summary>
            The OEM 3 key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.ImeProcessed">
            <summary>
            A special key masking the real key being processed by an IME.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.System">
            <summary>
            A special key masking the real key being processed as a system key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.OemAttn">
            <summary>
            The OEM ATTN key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.DbeAlphanumeric">
            <summary>
            The DBE_ALPHANUMERIC key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.OemFinish">
            <summary>
            The OEM Finish key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.DbeKatakana">
            <summary>
            The DBE_KATAKANA key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.DbeHiragana">
            <summary>
            The DBE_HIRAGANA key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.OemCopy">
            <summary>
            The OEM Copy key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.DbeSbcsChar">
            <summary>
            The DBE_SBCSCHAR key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.OemAuto">
            <summary>
            The OEM Auto key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.DbeDbcsChar">
            <summary>
            The DBE_DBCSCHAR key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.OemEnlw">
            <summary>
            The OEM ENLW key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.OemBackTab">
            <summary>
            The OEM BackTab key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.DbeRoman">
            <summary>
            The DBE_ROMAN key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.DbeNoRoman">
            <summary>
            The DBE_NOROMAN key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.Attn">
            <summary>
            The ATTN key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.CrSel">
            <summary>
            The CRSEL key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.DbeEnterWordRegisterMode">
            <summary>
            The DBE_ENTERWORDREGISTERMODE key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.ExSel">
            <summary>
            The EXSEL key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.DbeEnterImeConfigureMode">
            <summary>
            The DBE_ENTERIMECONFIGMODE key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.EraseEof">
            <summary>
            The ERASE EOF Key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.DbeFlushString">
            <summary>
            The DBE_FLUSHSTRING key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.Play">
            <summary>
            The Play key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.DbeCodeInput">
            <summary>
            The DBE_CODEINPUT key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.DbeNoCodeInput">
            <summary>
            The DBE_NOCODEINPUT key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.Zoom">
            <summary>
            The Zoom key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.NoName">
            <summary>
            Reserved for future use.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.DbeDetermineString">
            <summary>
            The DBE_DETERMINESTRING key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.DbeEnterDialogConversionMode">
            <summary>
            The DBE_ENTERDLGCONVERSIONMODE key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.Pa1">
            <summary>
            The PA1 key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.OemClear">
            <summary>
            The OEM Clear key.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.DeadCharProcessed">
            <summary>
            The key is used with another key to create a single combined character.
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.FnLeftArrow">
            <summary>
            OSX Platform-specific Fn+Left key
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.FnRightArrow">
            <summary>
            OSX Platform-specific Fn+Right key
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.FnUpArrow">
            <summary>
            OSX Platform-specific Fn+Up key
            </summary>
        </member>
        <member name="F:CPF.Input.Keys.FnDownArrow">
            <summary>
            OSX Platform-specific Fn+Down key
            </summary>
        </member>
        <member name="P:CPF.Input.MouseButtonEventArgs.MouseButton">
            <summary>
            当前触发事件的按键
            </summary>
        </member>
        <member name="P:CPF.Input.MouseButtonEventArgs.ButtonState">
            <summary>
            Read-only access to the button state.
            </summary>
        </member>
        <member name="F:CPF.Input.MouseButton.Left">
            <summary>
               The left mouse button.
            </summary>
        </member>
        <member name="F:CPF.Input.MouseButton.Middle">
            <summary>
               The middle mouse button.
            </summary>
        </member>
        <member name="F:CPF.Input.MouseButton.Right">
            <summary>
               The right mouse button.
            </summary>
        </member>
        <member name="F:CPF.Input.MouseButton.XButton1">
            <summary>
               The fourth mouse button.
            </summary>
        </member>
        <member name="F:CPF.Input.MouseButton.XButton2">
            <summary>
               The fifth mouse button.
            </summary>
        </member>
        <member name="T:CPF.Input.MouseButtonState">
            <summary>
            指定可能的鼠标按钮状态。
            </summary>
        </member>
        <member name="P:CPF.Input.MouseDevice.Location">
            <summary>
            鼠标位置屏幕像素坐标
            </summary>
        </member>
        <member name="M:CPF.Input.MouseDevice.GetPosition(CPF.UIElement)">
            <summary>
            获取相对该元素的鼠标坐标
            </summary>
            <param name="element"></param>
            <returns></returns>
        </member>
        <member name="P:CPF.Input.MouseDevice.Captured">
            <summary>
            Gets the control that is currently capturing by the mouse, if any.
            </summary>
            <remarks>
            When an element captures the mouse, it recieves mouse input whether the cursor is 
            within the control's bounds or not. To set the mouse capture, call the 
            <see cref="M:CPF.Input.MouseDevice.Capture(CPF.UIElement)"/> method.
            </remarks>
        </member>
        <member name="M:CPF.Input.MouseDevice.Capture(CPF.UIElement)">
            <summary>
            Captures mouse input to the specified control.
            </summary>
            <param name="control">The control.</param>
            <remarks>
            When an element captures the mouse, it recieves mouse input whether the cursor is 
            within the control's bounds or not. The current mouse capture control is exposed
            by the <see cref="P:CPF.Input.MouseDevice.Captured"/> property.
            </remarks>
        </member>
        <member name="M:CPF.Input.MouseDevice.HitTest(CPF.Drawing.Point,CPF.VisibleUIElement,CPF.Input.MouseEventArgs,CPF.Input.EventType)">
            <summary>
            命中测试可视范围的UI元素，返回被命中到的UI元素
            </summary>
            <param name="point"></param>
            <param name="element"></param>
            <param name="e"></param>
            <param name="eventName"></param>
            <returns></returns>
        </member>
        <member name="F:CPF.Input.NavigationMethod.Unspecified">
            <summary>
            未指定，比如直接调用Focus方法
            </summary>
        </member>
        <member name="F:CPF.Input.NavigationMethod.Tab">
            <summary>
            用户 tab 在控件之间更改了焦点。
            </summary>
        </member>
        <member name="F:CPF.Input.NavigationMethod.Directional">
            <summary>
            用户按方向导航键更改焦点。
            </summary>
        </member>
        <member name="F:CPF.Input.NavigationMethod.Click">
            <summary>
            焦点由指针单击更改。
            </summary>
        </member>
        <member name="F:CPF.LayoutManager.visibleElement">
            <summary>
            在可视范围内的元素
            </summary>
        </member>
        <member name="M:CPF.LayoutManager.ExecuteLayoutPass">
            <inheritdoc/>
        </member>
        <member name="M:CPF.LayoutManager.IsVisible(CPF.UIElement)">
            <summary>
            元素是否在可视化范围内
            </summary>
            <param name="element"></param>
            <returns></returns>
        </member>
        <member name="T:CPF.LinearGradientFill">
            <summary>
            线性渐变填充
            </summary>
        </member>
        <member name="M:CPF.LinearGradientFill.#ctor">
            <summary>
            线性渐变填充
            </summary>
        </member>
        <member name="P:CPF.LinearGradientFill.GradientStops">
            <summary>
            颜色梯度
            </summary>
        </member>
        <member name="T:CPF.ObjectExtenstions">
            <summary>
            Object数据转换扩展
            </summary>
        </member>
        <member name="M:CPF.ObjectExtenstions.SetTemplate``1(``0,System.Action{``0,CPF.UIElementCollection})">
            <summary>
            设置控件模板，就是对Control的Template 属性进行泛型包装
            </summary>
            <typeparam name="T"></typeparam>
            <param name="control"></param>
            <param name="action"></param>
        </member>
        <member name="M:CPF.ObjectExtenstions.Delay``2(``0,System.TimeSpan,System.Linq.Expressions.Expression{System.Func{``0,``1}},``1)">
            <summary>
            延迟设置值
            </summary>
            <typeparam name="T"></typeparam>
            <typeparam name="V"></typeparam>
            <param name="obj"></param>
            <param name="timeSpan"></param>
            <param name="expression"></param>
            <param name="value"></param>
        </member>
        <member name="M:CPF.ObjectExtenstions.Delay(System.Object,System.TimeSpan,System.Action)">
            <summary>
            延迟操作
            </summary>
            <param name="obj"></param>
            <param name="timeSpan"></param>
            <param name="action"></param>
        </member>
        <member name="M:CPF.ObjectExtenstions.ToItems(System.Data.DataTable)">
            <summary>
            转成IList用于Items属性设置
            </summary>
            <param name="dataTable"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.ObjectExtenstions.GetDataTable(System.Collections.IList)">
            <summary>
            必须是DataTable转换为IList的才行
            </summary>
            <param name="list"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.ObjectExtenstions.ToItems(System.Collections.IEnumerable)">
            <summary>
            转成IList用于Items属性设置
            </summary>
            <returns></returns>
        </member>
        <member name="M:CPF.ObjectExtenstions.Equal(System.Single,System.Single)">
            <summary>
            是否大约相等 Math.Abs(f1 - f2) &lt; 0.0001
            </summary>
            <param name="f1"></param>
            <param name="f2"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.ObjectExtenstions.Equal(System.Object,System.Object)">
            <summary>
            对象是否相等
            </summary>
            <param name="obj1"></param>
            <param name="obj2"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.ObjectExtenstions.Parse(System.Type,System.String)">
            <summary>
            字符串转具体的数据
            </summary>
            <param name="type"></param>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.ObjectExtenstions.Add``1(CPF.UIElementCollection,``0,System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            针对Grid添加控件元素，并设置所在的单元格位置
            </summary>
            <param name="elements"></param>
            <param name="element"></param>
            <param name="col">列</param>
            <param name="row">行</param>
            <param name="colSpan">跨列</param>
            <param name="rowSpan">跨行</param>
        </member>
        <member name="M:CPF.ObjectExtenstions.Add(CPF.Collection{CPF.Drawing.Point},System.Single,System.Single)">
            <summary>
            添加Point
            </summary>
            <param name="points"></param>
            <param name="x"></param>
            <param name="y"></param>
        </member>
        <member name="M:CPF.ObjectExtenstions.GetAttachedPropertyName``1(CPF.Attached{``0})">
            <summary>
            获取附加属性的名称
            </summary>
            <typeparam name="Value"></typeparam>
            <param name="attached"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.ObjectExtenstions.ConvertTo(System.Object,System.Type)">
            <summary>
            类型转换
            </summary>
            <param name="obj"></param>
            <param name="type"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.ObjectExtenstions.GetPropretyValue(System.Object,System.String)">
            <summary>
            获取对象属性值
            </summary>
            <param name="obj"></param>
            <param name="propertyName"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.ObjectExtenstions.SetPropretyValue(System.Object,System.String,System.Object)">
            <summary>
            设置属性值
            </summary>
            <param name="obj"></param>
            <param name="propertyName"></param>
            <param name="value"></param>
        </member>
        <member name="P:CPF.DataRows.Events">
            <summary>
            事件列表，用于优化事件订阅内存
            </summary>
        </member>
        <member name="T:CPF.OptionalParameter`1">
            <summary>
            定义一个可选参数
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="P:CPF.OptionalParameter`1.Value">
            <summary>
            参数值
            </summary>
        </member>
        <member name="P:CPF.OptionalParameter`1.HasValue">
            <summary>
            是否有参数值
            </summary>
        </member>
        <member name="T:CPF.PixelPoint">
            <summary>
            Represents a point in device pixels.
            </summary>
        </member>
        <member name="F:CPF.PixelPoint.Origin">
            <summary>
            A point representing 0,0.
            </summary>
        </member>
        <member name="M:CPF.PixelPoint.#ctor(System.Int32,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:CPF.PixelPoint"/> structure.
            </summary>
            <param name="x">The X co-ordinate.</param>
            <param name="y">The Y co-ordinate.</param>
        </member>
        <member name="P:CPF.PixelPoint.X">
            <summary>
            Gets the X co-ordinate.
            </summary>
        </member>
        <member name="P:CPF.PixelPoint.Y">
            <summary>
            Gets the Y co-ordinate.
            </summary>
        </member>
        <member name="M:CPF.PixelPoint.op_Equality(CPF.PixelPoint,CPF.PixelPoint)">
            <summary>
            Checks for equality between two <see cref="T:CPF.PixelPoint"/>s.
            </summary>
            <param name="left">The first point.</param>
            <param name="right">The second point.</param>
            <returns>True if the points are equal; otherwise false.</returns>
        </member>
        <member name="M:CPF.PixelPoint.op_Inequality(CPF.PixelPoint,CPF.PixelPoint)">
            <summary>
            Checks for inequality between two <see cref="T:CPF.PixelPoint"/>s.
            </summary>
            <param name="left">The first point.</param>
            <param name="right">The second point.</param>
            <returns>True if the points are unequal; otherwise false.</returns>
        </member>
        <member name="M:CPF.PixelPoint.Equals(System.Object)">
            <summary>
            Checks for equality between a point and an object.
            </summary>
            <param name="obj">The object.</param>
            <returns>
            True if <paramref name="obj"/> is a point that equals the current point.
            </returns>
        </member>
        <member name="M:CPF.PixelPoint.GetHashCode">
            <summary>
            Returns a hash code for a <see cref="T:CPF.PixelPoint"/>.
            </summary>
            <returns>The hash code.</returns>
        </member>
        <member name="M:CPF.PixelPoint.WithX(System.Int32)">
            <summary>
            Returns a new <see cref="T:CPF.PixelPoint"/> with the same Y co-ordinate and the specified X co-ordinate.
            </summary>
            <param name="x">The X co-ordinate.</param>
            <returns>The new <see cref="T:CPF.PixelPoint"/>.</returns>
        </member>
        <member name="M:CPF.PixelPoint.WithY(System.Int32)">
            <summary>
            Returns a new <see cref="T:CPF.PixelPoint"/> with the same X co-ordinate and the specified Y co-ordinate.
            </summary>
            <param name="y">The Y co-ordinate.</param>
            <returns>The new <see cref="T:CPF.PixelPoint"/>.</returns>
        </member>
        <member name="M:CPF.PixelPoint.ToPoint(System.Single)">
            <summary>
            Converts the <see cref="T:CPF.PixelPoint"/> to a device-independent <see cref="T:CPF.Drawing.Point"/> using the
            specified scaling factor.
            </summary>
            <param name="scale">The scaling factor.</param>
            <returns>The device-independent point.</returns>
        </member>
        <member name="M:CPF.PixelPoint.ToPoint(CPF.Drawing.Vector)">
            <summary>
            Converts the <see cref="T:CPF.PixelPoint"/> to a device-independent <see cref="T:CPF.Drawing.Point"/> using the
            specified scaling factor.
            </summary>
            <param name="scale">The scaling factor.</param>
            <returns>The device-independent point.</returns>
        </member>
        <member name="M:CPF.PixelPoint.ToPointWithDpi(System.Single)">
            <summary>
            Converts the <see cref="T:CPF.PixelPoint"/> to a device-independent <see cref="T:CPF.Drawing.Point"/> using the
            specified dots per inch (DPI).
            </summary>
            <param name="dpi">The dots per inch of the device.</param>
            <returns>The device-independent point.</returns>
        </member>
        <member name="M:CPF.PixelPoint.ToPointWithDpi(CPF.Drawing.Vector)">
            <summary>
            Converts the <see cref="T:CPF.PixelPoint"/> to a device-independent <see cref="T:CPF.Drawing.Point"/> using the
            specified dots per inch (DPI).
            </summary>
            <param name="dpi">The dots per inch of the device.</param>
            <returns>The device-independent point.</returns>
        </member>
        <member name="M:CPF.PixelPoint.FromPoint(CPF.Drawing.Point,System.Double)">
            <summary>
            Converts a <see cref="T:CPF.Drawing.Point"/> to device pixels using the specified scaling factor.
            </summary>
            <param name="point">The point.</param>
            <param name="scale">The scaling factor.</param>
            <returns>The device-independent point.</returns>
        </member>
        <member name="M:CPF.PixelPoint.FromPoint(CPF.Drawing.Point,CPF.Drawing.Vector)">
            <summary>
            Converts a <see cref="T:CPF.Drawing.Point"/> to device pixels using the specified scaling factor.
            </summary>
            <param name="point">The point.</param>
            <param name="scale">The scaling factor.</param>
            <returns>The device-independent point.</returns>
        </member>
        <member name="M:CPF.PixelPoint.FromPointWithDpi(CPF.Drawing.Point,System.Double)">
            <summary>
            Converts a <see cref="T:CPF.Drawing.Point"/> to device pixels using the specified dots per inch (DPI).
            </summary>
            <param name="point">The point.</param>
            <param name="dpi">The dots per inch of the device.</param>
            <returns>The device-independent point.</returns>
        </member>
        <member name="M:CPF.PixelPoint.FromPointWithDpi(CPF.Drawing.Point,CPF.Drawing.Vector)">
            <summary>
            Converts a <see cref="T:CPF.Drawing.Point"/> to device pixels using the specified dots per inch (DPI).
            </summary>
            <param name="point">The point.</param>
            <param name="dpi">The dots per inch of the device.</param>
            <returns>The device-independent point.</returns>
        </member>
        <member name="M:CPF.PixelPoint.ToString">
            <summary>
            Returns the string representation of the point.
            </summary>
            <returns>The string representation of the point.</returns>
        </member>
        <member name="M:CPF.PixelRect.op_Inequality(CPF.PixelRect,CPF.PixelRect)">
            <summary>
            Compares two PixelRect instances for exact inequality.
            Note that int values can acquire error when operated upon, such that
            an exact comparison between two values which are logically equal may fail.
            Furthermore, using this equality operator, int.NaN is not equal to itself.
            </summary>
            <returns>
            bool - true if the two PixelRect instances are exactly unequal, false otherwise
            </returns>
            <param name='rect1'>The first PixelRect to compare</param>
            <param name='rect2'>The second PixelRect to compare</param>
        </member>
        <member name="M:CPF.PixelRect.Equals(CPF.PixelRect,CPF.PixelRect)">
            <summary>
            Compares two PixelRect instances for object equality.  In this equality
            int.NaN is equal to itself, unlike in numeric equality.
            Note that int values can acquire error when operated upon, such that
            an exact comparison between two values which
            are logically equal may fail.
            </summary>
            <returns>
            bool - true if the two PixelRect instances are exactly equal, false otherwise
            </returns>
            <param name='rect1'>The first PixelRect to compare</param>
            <param name='rect2'>The second PixelRect to compare</param>
        </member>
        <member name="M:CPF.PixelRect.Equals(System.Object)">
            <summary>
            Equals - compares this PixelRect with the passed in object.  In this equality
            int.NaN is equal to itself, unlike in numeric equality.
            Note that int values can acquire error when operated upon, such that
            an exact comparison between two values which
            are logically equal may fail.
            </summary>
            <returns>
            bool - true if the object is an instance of PixelRect and if it's equal to "this".
            </returns>
            <param name='o'>The object to compare to "this"</param>
        </member>
        <member name="M:CPF.PixelRect.Equals(CPF.PixelRect)">
            <summary>
            Equals - compares this PixelRect with the passed in object.  In this equality
            int.NaN is equal to itself, unlike in numeric equality.
            Note that int values can acquire error when operated upon, such that
            an exact comparison between two values which
            are logically equal may fail.
            </summary>
            <returns>
            bool - true if "value" is equal to "this".
            </returns>
            <param name='value'>The PixelRect to compare to "this"</param>
        </member>
        <member name="M:CPF.PixelRect.GetHashCode">
            <summary>
            Returns the HashCode for this PixelRect
            </summary>
            <returns>
            int - the HashCode for this PixelRect
            </returns>
        </member>
        <member name="M:CPF.PixelRect.ToString">
            <summary>
            Creates a string representation of this object based on the current culture.
            </summary>
            <returns>
            A string representation of this object.
            </returns>
        </member>
        <member name="M:CPF.PixelRect.ToString(System.IFormatProvider)">
            <summary>
            Creates a string representation of this object based on the IFormatProvider
            passed in.  If the provider is null, the CurrentCulture is used.
            </summary>
            <returns>
            A string representation of this object.
            </returns>
        </member>
        <member name="M:CPF.PixelRect.System#IFormattable#ToString(System.String,System.IFormatProvider)">
            <summary>
            Creates a string representation of this object based on the format string
            and IFormatProvider passed in.
            If the provider is null, the CurrentCulture is used.
            See the documentation for IFormattable for more information.
            </summary>
            <returns>
            A string representation of this object.
            </returns>
        </member>
        <member name="M:CPF.PixelRect.ConvertToString(System.String,System.IFormatProvider)">
            <summary>
            Creates a string representation of this object based on the format string
            and IFormatProvider passed in.
            If the provider is null, the CurrentCulture is used.
            See the documentation for IFormattable for more information.
            </summary>
            <returns>
            A string representation of this object.
            </returns>
        </member>
        <member name="M:CPF.PixelRect.#ctor(System.Int32@,System.Int32@,System.Int32@,System.Int32@)">
            <summary>
            Constructor which sets the initial values to the values of the parameters.
            Width and Height must be non-negative
            </summary>
        </member>
        <member name="P:CPF.PixelRect.Empty">
            <summary>
            Empty - a static property which provides an Empty rectangle.  X and Y are positive-infinity
            and Width and Height are negative infinity.  This is the only situation where Width or
            Height can be negative.
            </summary>
        </member>
        <member name="P:CPF.PixelRect.Location">
            <summary>
            Location - The Point representing the origin of the Rectangle
            </summary>
        </member>
        <member name="P:CPF.PixelRect.Size">
            <summary>
            Size - The Size representing the area of the Rectangle
            </summary>
        </member>
        <member name="P:CPF.PixelRect.X">
            <summary>
            X - The X coordinate of the Location.
            If this is the empty rectangle, the value will be positive infinity.
            If this rect is Empty, setting this property is illegal.
            </summary>
        </member>
        <member name="P:CPF.PixelRect.Y">
            <summary>
            Y - The Y coordinate of the Location
            If this is the empty rectangle, the value will be positive infinity.
            If this rect is Empty, setting this property is illegal.
            </summary>
        </member>
        <member name="P:CPF.PixelRect.Width">
            <summary>
            Width - The Width component of the Size.  This cannot be set to negative, and will only
            be negative if this is the empty rectangle, in which case it will be negative infinity.
            If this rect is Empty, setting this property is illegal.
            </summary>
        </member>
        <member name="P:CPF.PixelRect.Height">
            <summary>
            Height - The Height component of the Size.  This cannot be set to negative, and will only
            be negative if this is the empty rectangle, in which case it will be negative infinity.
            If this rect is Empty, setting this property is illegal.
            </summary>
        </member>
        <member name="P:CPF.PixelRect.Left">
            <summary>
            Left Property - This is a read-only alias for X
            If this is the empty rectangle, the value will be positive infinity.
            </summary>
        </member>
        <member name="P:CPF.PixelRect.Top">
            <summary>
            Top Property - This is a read-only alias for Y
            If this is the empty rectangle, the value will be positive infinity.
            </summary>
        </member>
        <member name="P:CPF.PixelRect.Right">
            <summary>
            Right Property - This is a read-only alias for X + Width
            If this is the empty rectangle, the value will be negative infinity.
            </summary>
        </member>
        <member name="P:CPF.PixelRect.Bottom">
            <summary>
            Bottom Property - This is a read-only alias for Y + Height
            If this is the empty rectangle, the value will be negative infinity.
            </summary>
        </member>
        <member name="P:CPF.PixelRect.TopLeft">
            <summary>
            TopLeft Property - This is a read-only alias for the Point which is at X, Y
            If this is the empty rectangle, the value will be positive infinity, positive infinity.
            </summary>
        </member>
        <member name="P:CPF.PixelRect.TopRight">
            <summary>
            TopRight Property - This is a read-only alias for the Point which is at X + Width, Y
            If this is the empty rectangle, the value will be negative infinity, positive infinity.
            </summary>
        </member>
        <member name="P:CPF.PixelRect.BottomLeft">
            <summary>
            BottomLeft Property - This is a read-only alias for the Point which is at X, Y + Height
            If this is the empty rectangle, the value will be positive infinity, negative infinity.
            </summary>
        </member>
        <member name="P:CPF.PixelRect.BottomRight">
            <summary>
            BottomRight Property - This is a read-only alias for the Point which is at X + Width, Y + Height
            If this is the empty rectangle, the value will be negative infinity, negative infinity.
            </summary>
        </member>
        <member name="P:CPF.PixelRect.Center">
            <summary>
            Gets the center point of the rectangle.
            </summary>
        </member>
        <member name="M:CPF.PixelRect.Contains(CPF.PixelPoint@)">
            <summary>
            Contains - Returns true if the Point is within the rectangle, inclusive of the edges.
            Returns false otherwise.
            </summary>
            <param name="point"> The point which is being tested </param>
            <returns>
            Returns true if the Point is within the rectangle.
            Returns false otherwise
            </returns>
        </member>
        <member name="M:CPF.PixelRect.Contains(System.Int32@,System.Int32@)">
            <summary>
            Contains - Returns true if the Point represented by x,y is within the rectangle inclusive of the edges.
            Returns false otherwise.
            </summary>
            <param name="x"> X coordinate of the point which is being tested </param>
            <param name="y"> Y coordinate of the point which is being tested </param>
            <returns>
            Returns true if the Point represented by x,y is within the rectangle.
            Returns false otherwise.
            </returns>
        </member>
        <member name="M:CPF.PixelRect.Contains(CPF.PixelRect@)">
            <summary>
            Contains - Returns true if the PixelRect non-Empty and is entirely contained within the
            rectangle, inclusive of the edges.
            Returns false otherwise
            </summary>
        </member>
        <member name="M:CPF.PixelRect.IntersectsWith(CPF.PixelRect@)">
            <summary>
            IntersectsWith - Returns true if the PixelRect intersects with this rectangle
            Returns false otherwise.
            Note that if one edge is coincident, this is considered an intersection.
            </summary>
            <returns>
            Returns true if the PixelRect intersects with this rectangle
            Returns false otherwise.
            or Height
            </returns>
            <param name="rect"> PixelRect </param>
        </member>
        <member name="M:CPF.PixelRect.Intersect(CPF.PixelRect@)">
            <summary>
            Intersect - Update this rectangle to be the intersection of this and rect
            If either this or rect are Empty, the result is Empty as well.
            </summary>
            <param name="rect"> The rect to intersect with this </param>
        </member>
        <member name="M:CPF.PixelRect.Intersect(CPF.PixelRect,CPF.PixelRect)">
            <summary>
            Intersect - Return the result of the intersection of rect1 and rect2.
            If either this or rect are Empty, the result is Empty as well.
            </summary>
        </member>
        <member name="M:CPF.PixelRect.Union(CPF.PixelRect@)">
            <summary>
            Union - Update this rectangle to be the union of this and rect.
            </summary>
        </member>
        <member name="M:CPF.PixelRect.Union(CPF.PixelRect,CPF.PixelRect)">
            <summary>
            Union - Return the result of the union of rect1 and rect2.
            </summary>
        </member>
        <member name="M:CPF.PixelRect.Offset(System.Int32,System.Int32)">
            <summary>
            Offset - translate the Location by the offset provided
            If this is Empty, this method is illegal.
            </summary>
        </member>
        <member name="M:CPF.PixelRect.Offset(CPF.PixelRect,System.Int32,System.Int32)">
            <summary>
            Offset - return the result of offsetting rect by the offset provided
            If this is Empty, this method is illegal.
            </summary>
        </member>
        <member name="M:CPF.PixelRect.Inflate(CPF.PixelSize)">
            <summary>
            Inflate - inflate the bounds by the size provided, in all directions
            If this is Empty, this method is illegal.
            </summary>
        </member>
        <member name="M:CPF.PixelRect.Inflate(System.Int32,System.Int32)">
            <summary>
            Inflate - inflate the bounds by the size provided, in all directions.
            If -width is > Width / 2 or -height is > Height / 2, this PixelRect becomes Empty
            If this is Empty, this method is illegal.
            </summary>
        </member>
        <member name="M:CPF.PixelRect.Inflate(CPF.PixelRect,CPF.PixelSize)">
            <summary>
            Inflate - return the result of inflating rect by the size provided, in all directions
            If this is Empty, this method is illegal.
            </summary>
        </member>
        <member name="M:CPF.PixelRect.Inflate(CPF.PixelRect,System.Int32,System.Int32)">
            <summary>
            Inflate - return the result of inflating rect by the size provided, in all directions
            If this is Empty, this method is illegal.
            </summary>
        </member>
        <member name="M:CPF.PixelRect.Scale(System.Int32,System.Int32)">
            <summary>
            Scale the rectangle in the X and Y directions
            </summary>
            <param name="scaleX"> The scale in X </param>
            <param name="scaleY"> The scale in Y </param>
        </member>
        <member name="M:CPF.PixelRect.ContainsInternal(System.Int32@,System.Int32@)">
            <summary>
            ContainsInternal - Performs just the "point inside" logic
            </summary>
            <returns>
            bool - true if the point is inside the rect
            </returns>
            <param name="x"> The x-coord of the point to test </param>
            <param name="y"> The y-coord of the point to test </param>
        </member>
        <member name="T:CPF.PixelSize">
            <summary>
            Represents a size in device pixels.
            </summary>
        </member>
        <member name="F:CPF.PixelSize.Empty">
            <summary>
            A size representing zero
            </summary>
        </member>
        <member name="M:CPF.PixelSize.#ctor(System.Int32,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:CPF.PixelSize"/> structure.
            </summary>
            <param name="width">The width.</param>
            <param name="height">The height.</param>
        </member>
        <member name="P:CPF.PixelSize.Width">
            <summary>
            Gets the width.
            </summary>
        </member>
        <member name="P:CPF.PixelSize.Height">
            <summary>
            Gets the height.
            </summary>
        </member>
        <member name="M:CPF.PixelSize.op_Equality(CPF.PixelSize,CPF.PixelSize)">
            <summary>
            Checks for equality between two <see cref="T:CPF.PixelSize"/>s.
            </summary>
            <param name="left">The first size.</param>
            <param name="right">The second size.</param>
            <returns>True if the sizes are equal; otherwise false.</returns>
        </member>
        <member name="M:CPF.PixelSize.op_Inequality(CPF.PixelSize,CPF.PixelSize)">
            <summary>
            Checks for inequality between two <see cref="T:CPF.Drawing.Size"/>s.
            </summary>
            <param name="left">The first size.</param>
            <param name="right">The second size.</param>
            <returns>True if the sizes are unequal; otherwise false.</returns>
        </member>
        <member name="M:CPF.PixelSize.Equals(System.Object)">
            <summary>
            Checks for equality between a size and an object.
            </summary>
            <param name="obj">The object.</param>
            <returns>
            True if <paramref name="obj"/> is a size that equals the current size.
            </returns>
        </member>
        <member name="M:CPF.PixelSize.GetHashCode">
            <summary>
            Returns a hash code for a <see cref="T:CPF.PixelSize"/>.
            </summary>
            <returns>The hash code.</returns>
        </member>
        <member name="M:CPF.PixelSize.WithWidth(System.Int32)">
            <summary>
            Returns a new <see cref="T:CPF.PixelSize"/> with the same height and the specified width.
            </summary>
            <param name="width">The width.</param>
            <returns>The new <see cref="T:CPF.PixelSize"/>.</returns>
        </member>
        <member name="M:CPF.PixelSize.WithHeight(System.Int32)">
            <summary>
            Returns a new <see cref="T:CPF.PixelSize"/> with the same width and the specified height.
            </summary>
            <param name="height">The height.</param>
            <returns>The new <see cref="T:CPF.PixelSize"/>.</returns>
        </member>
        <member name="M:CPF.PixelSize.ToSize(System.Single)">
            <summary>
            Converts the <see cref="T:CPF.PixelSize"/> to a device-independent <see cref="T:CPF.Drawing.Size"/> using the
            specified scaling factor.
            </summary>
            <param name="scale">The scaling factor.</param>
            <returns>The device-independent size.</returns>
        </member>
        <member name="M:CPF.PixelSize.ToSize(CPF.Drawing.Vector)">
            <summary>
            Converts the <see cref="T:CPF.PixelSize"/> to a device-independent <see cref="T:CPF.Drawing.Size"/> using the
            specified scaling factor.
            </summary>
            <param name="scale">The scaling factor.</param>
            <returns>The device-independent size.</returns>
        </member>
        <member name="M:CPF.PixelSize.ToSizeWithDpi(System.Single)">
            <summary>
            Converts the <see cref="T:CPF.PixelSize"/> to a device-independent <see cref="T:CPF.Drawing.Size"/> using the
            specified dots per inch (DPI).
            </summary>
            <param name="dpi">The dots per inch.</param>
            <returns>The device-independent size.</returns>
        </member>
        <member name="M:CPF.PixelSize.ToSizeWithDpi(CPF.Drawing.Vector)">
            <summary>
            Converts the <see cref="T:CPF.PixelSize"/> to a device-independent <see cref="T:CPF.Drawing.Size"/> using the
            specified dots per inch (DPI).
            </summary>
            <param name="dpi">The dots per inch.</param>
            <returns>The device-independent size.</returns>
        </member>
        <member name="M:CPF.PixelSize.FromSize(CPF.Drawing.Size,System.Double)">
            <summary>
            Converts a <see cref="T:CPF.Drawing.Size"/> to device pixels using the specified scaling factor.
            </summary>
            <param name="size">The size.</param>
            <param name="scale">The scaling factor.</param>
            <returns>The device-independent size.</returns>
        </member>
        <member name="M:CPF.PixelSize.FromSize(CPF.Drawing.Size,CPF.Drawing.Vector)">
            <summary>
            Converts a <see cref="T:CPF.Drawing.Size"/> to device pixels using the specified scaling factor.
            </summary>
            <param name="size">The size.</param>
            <param name="scale">The scaling factor.</param>
            <returns>The device-independent size.</returns>
        </member>
        <member name="M:CPF.PixelSize.FromSizeWithDpi(CPF.Drawing.Size,System.Double)">
            <summary>
            Converts a <see cref="T:CPF.Drawing.Size"/> to device pixels using the specified dots per inch (DPI).
            </summary>
            <param name="size">The size.</param>
            <param name="dpi">The dots per inch.</param>
            <returns>The device-independent size.</returns>
        </member>
        <member name="M:CPF.PixelSize.FromSizeWithDpi(CPF.Drawing.Size,CPF.Drawing.Vector)">
            <summary>
            Converts a <see cref="T:CPF.Drawing.Size"/> to device pixels using the specified dots per inch (DPI).
            </summary>
            <param name="size">The size.</param>
            <param name="dpi">The dots per inch.</param>
            <returns>The device-independent size.</returns>
        </member>
        <member name="M:CPF.PixelSize.ToString">
            <summary>
            Returns the string representation of the size.
            </summary>
            <returns>The string representation of the size.</returns>
        </member>
        <member name="P:CPF.Platform.Application.Elapsed">
            <summary>
            程序启动之后持续时间
            </summary>
        </member>
        <member name="M:CPF.Platform.Application.Initialize(System.ValueTuple{CPF.Platform.OperatingSystemType,CPF.Platform.RuntimePlatform,CPF.Drawing.DrawingFactory}[])">
            <summary>
            初始化运行环境
            </summary>
            <param name="runtimes"></param>
        </member>
        <member name="M:CPF.Platform.Application.Run(CPF.Platform.IApp)">
            <summary>
            执行消息循环
            </summary>
        </member>
        <member name="M:CPF.Platform.Application.LoadFont(System.String,System.String)">
            <summary>
            可以支持css定义加载的字体，就可以不需要调用该方法。支持内嵌资源路径res://或者本地路径file:///或者在线路径http://
            </summary>
            <param name="path"></param>        
            <param name="fontFamily">不设置的话，用图形引擎解析出来的名字，不同图形引擎加载同一个字体可能会有不同的名字，可以自己定义个确定的名字来避免不同名称加载不到字体的问题。</param>
        </member>
        <member name="P:CPF.Platform.Application.OperatingSystem">
            <summary>
            当前操作系统类型
            </summary>
        </member>
        <member name="M:CPF.Platform.Application.GetDrawingFactory">
            <summary>
            获取图形工厂
            </summary>
            <returns></returns>
        </member>
        <member name="P:CPF.Platform.Application.Main">
            <summary>
            主窗体
            </summary>
        </member>
        <member name="M:CPF.Platform.Application.Exit">
            <summary>
            关闭主窗体，导致程序退出
            </summary>
        </member>
        <member name="P:CPF.Platform.Application.StartupPath">
            <summary>
            程序启动目录
            </summary>
        </member>
        <member name="P:CPF.Platform.Application.DesignMode">
            <summary>
            当前运行时是否是设计模式
            </summary>
        </member>
        <member name="T:CPF.Platform.INativeImpl">
            <summary>
            定义原生控件内嵌容器的接口
            </summary>
        </member>
        <member name="T:CPF.Platform.IPlatformDispatcher">
            <summary>
            主线程调度接口
            </summary>
        </member>
        <member name="T:CPF.Platform.ITopLevel">
            <summary>
            顶级窗口
            </summary>
        </member>
        <member name="T:CPF.Platform.IViewImpl">
            <summary>
            表示一个独立的页面，比如一个托管控件
            </summary>
        </member>
        <member name="M:CPF.Platform.IViewImpl.PointToScreen(CPF.Drawing.Point)">
            <summary>
            将指定工作区点的位置计算成屏幕坐标。
            </summary>
            <param name="point"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.Platform.IViewImpl.PointToClient(CPF.Drawing.Point)">
            <summary>
            将指定屏幕点的位置计算成工作区坐标
            </summary>
            <param name="point"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.Platform.IViewImpl.Capture">
            <summary>
            捕获鼠标
            </summary>
        </member>
        <member name="M:CPF.Platform.IViewImpl.ReleaseCapture">
            <summary>
            释放捕获的鼠标
            </summary>
        </member>
        <member name="M:CPF.Platform.RuntimePlatform.GetSynchronizationContext">
            <summary>
            获取调度器
            </summary>
            <returns></returns>
        </member>
        <member name="P:CPF.Platform.RuntimePlatform.MousePosition">
            <summary>
            鼠标位置屏幕像素坐标
            </summary>
        </member>
        <member name="P:CPF.Platform.RuntimePlatform.DoubleClickTime">
            <summary>
            双击最大间隔时间
            </summary>
        </member>
        <member name="M:CPF.Platform.RuntimePlatform.ShowFileDialogAsync(CPF.Controls.FileDialog,CPF.Platform.IWindowImpl)">
            <summary>
            文件对话框
            </summary>
            <param name="dialog">The details of the file dialog to show.</param>
            <param name="parent">The parent window.</param>
            <returns>A task returning the selected filenames.</returns>
        </member>
        <member name="M:CPF.Platform.RuntimePlatform.ShowFolderDialogAsync(CPF.Controls.OpenFolderDialog,CPF.Platform.IWindowImpl)">
            <summary>
            目录对话框
            </summary>
            <param name="dialog"></param>
            <param name="parent"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.Platform.RuntimePlatform.Hotkey(CPF.Input.KeyGesture)">
            <summary>
            确定是否是平台的功能热键
            </summary>
            <param name="keyGesture"></param>
            <returns></returns>
        </member>
        <member name="P:CPF.Platform.Screen.Bounds">
            <summary>
            获取显示的边界。
            </summary>
        </member>
        <member name="P:CPF.Platform.Screen.WorkingArea">
            <summary>
             获取显示的工作区域。 工作区域是显示内容中，不包括任务栏、 停靠的窗口和已停靠的工具条的桌面区域。
            </summary>
        </member>
        <member name="P:CPF.Platform.Screen.Primary">
            <summary>
            是否是主屏
            </summary>
        </member>
        <member name="T:CPF.PointField">
            <summary>
            支持单位百分比的Point，格式：10,10  10%,10%
            </summary>
        </member>
        <member name="T:CPF.RadialGradientFill">
            <summary>
            径向渐变
            </summary>
        </member>
        <member name="M:CPF.RadialGradientFill.#ctor">
            <summary>
            径向渐变
            </summary>
        </member>
        <member name="P:CPF.RadialGradientFill.Center">
            <summary>
            获取或设置径向渐变的最外面圆的中心。
            </summary>
        </member>
        <member name="P:CPF.RadialGradientFill.Radius">
            <summary>
            获取或设置径向渐变的最外面圆的半径。
            </summary>
        </member>
        <member name="P:CPF.RadialGradientFill.GradientStops">
            <summary>
            颜色梯度
            </summary>
        </member>
        <member name="T:CPF.Reflection.FastReflectionExtensions">
            <summary>
            用于实现快速反射调用
            </summary>
        </member>
        <member name="M:CPF.Reflection.FastReflectionExtensions.SetTypeCache">
            <summary>
            保存当前的类型缓存。 一般是先调用SetTypeCache，再使用一些可卸载程序集，程序集卸载之后，再调用 RecoveryTypeCache
            </summary>
        </member>
        <member name="M:CPF.Reflection.FastReflectionExtensions.RecoveryTypeCache">
            <summary>
            恢复之前保存的类型缓存。 一般是先调用SetTypeCache，再使用一些可卸载程序集，程序集卸载之后，再调用 RecoveryTypeCache
            </summary>
        </member>
        <member name="M:CPF.Reflection.FastReflectionExtensions.Invoke(System.Object,System.String,System.Object[])">
            <summary>
            快速动态调用对象的方法
            </summary>
            <param name="instance"></param>
            <param name="methodName"></param>
            <param name="parameters"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.Reflection.FastReflectionExtensions.FastInvoke(System.Reflection.MethodInfo,System.Object,System.Object[])">
            <summary>
            反射快速调用
            </summary>
            <param name="methodInfo"></param>
            <param name="instance"></param>
            <param name="parameters"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.Reflection.FastReflectionExtensions.SetValue(System.Object,System.String,System.Object)">
            <summary>
            快速动态设置对象的属性值
            </summary>
            <param name="instance"></param>
            <param name="propertyName"></param>
            <param name="value"></param>
        </member>
        <member name="M:CPF.Reflection.FastReflectionExtensions.GetValue(System.Object,System.String)">
            <summary>
            快速动态获取对象的属性值
            </summary>
            <param name="instance"></param>
            <param name="propertyName"></param>
            <returns></returns>
        </member>
        <member name="T:CPF.Relation">
            <summary>
            元素关系
            </summary>
        </member>
        <member name="M:CPF.Relation.Query(CPF.UIElement)">
            <summary>
            根据构建的关系条件查询元素
            </summary>
            <param name="element"></param>
            <returns></returns>
        </member>
        <member name="P:CPF.Relation.Me">
            <summary>
            当前元素
            </summary>
        </member>
        <member name="P:CPF.Relation.Parent">
            <summary>
            被选元素的直接父元素
            </summary>
        </member>
        <member name="M:CPF.Relation.Parents(System.Func{CPF.UIElement,System.Boolean})">
            <summary>
            被选元素的所有祖先元素，它一路向上直到文档的根元素
            </summary>
            <param name="filter"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.Relation.Children(System.Func{CPF.UIElement,System.Boolean})">
            <summary>
            所有直接子元素
            </summary>
            <param name="filter"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.Relation.Find(System.Func{CPF.UIElement,System.Boolean})">
            <summary>
            被选元素的后代元素，一路向下直到最后一个后代
            </summary>
            <param name="func"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.Relation.op_Implicit(CPF.UIElement)~CPF.Relation">
            <summary>
            绝对关系
            </summary>
            <param name="element"></param>
        </member>
        <member name="T:CPF.ParentEnumerator">
            <summary>
            枚举父级
            </summary>
        </member>
        <member name="T:CPF.RoutedEventArgs">
            <summary>
            路由事件
            </summary>
        </member>
        <member name="P:CPF.RoutedEventArgs.Handled">
            <summary>
            获取或设置一个值，该值指示针对路由事件（在其经过路由时）的事件处理的当前状态。
            </summary>
        </member>
        <member name="P:CPF.RoutedEventArgs.OriginalSource">
            <summary>
            在父类进行任何可能的 Source 调整之前，获取由纯命中测试确定的原始报告源。
            </summary>
        </member>
        <member name="M:CPF.RoutedEventArgs.OverrideSource(System.Object)">
            <summary>
            重设事件触发源
            </summary>
            <param name="source"></param>
        </member>
        <member name="T:CPF.Shapes.Ellipse">
            <summary>
            绘制椭圆形。
            </summary>
        </member>
        <member name="T:CPF.Shapes.Line">
            <summary>
            在两个点之间绘制直线。
            </summary>
        </member>
        <member name="T:CPF.Shapes.Path">
            <summary>
            绘制一系列相互连接的直线和曲线。
            </summary>
        </member>
        <member name="P:CPF.Shapes.Path.Data">
            <summary>
            路径数据，支持WPF里的字符串格式数据
            </summary>
        </member>
        <member name="M:CPF.Shapes.Path.#ctor(CPF.Drawing.PathGeometry)">
            <summary>
            支持WPF里的字符串格式数据
            </summary>
            <param name="path"></param>
        </member>
        <member name="T:CPF.Shapes.Polygon">
            <summary>
            多边形
            </summary>
        </member>
        <member name="T:CPF.Shapes.Polyline">
            <summary>
            折线
            </summary>
        </member>
        <member name="M:CPF.Shapes.Polyline.#ctor">
            <summary>
            折线
            </summary>
        </member>
        <member name="T:CPF.Shapes.Rectangle">
            <summary>
            矩形
            </summary>
        </member>
        <member name="T:CPF.Shapes.Shape">
            <summary>
            为 Ellipse、Polygon 和 Rectangle 之类的形状元素提供基类。
            </summary>
        </member>
        <member name="P:CPF.Shapes.Shape.Fill">
            <summary>
            图形内部填充
            </summary>
        </member>
        <member name="P:CPF.Shapes.Shape.StrokeFill">
            <summary>
            边框线条填充
            </summary>
        </member>
        <member name="P:CPF.Shapes.Shape.StrokeStyle">
            <summary>
            获取或设置线条类型
            </summary>
        </member>
        <member name="P:CPF.Shapes.Shape.DisposeGeometryOnInvalidateGeometry">
            <summary>
            调用InvalidateGeometry的时候是否释放Geometry
            </summary>
        </member>
        <member name="P:CPF.Shapes.Shape.DefiningGeometry">
            <summary>
            定义的图形
            </summary>
        </member>
        <member name="P:CPF.Shapes.Shape.IsHitTestOnPath">
            <summary>
            事件响应范围是路径的线条上还是路径围成的范围内，true就是在线条上
            </summary>
        </member>
        <member name="T:CPF.SizeField">
            <summary>
            支持单位百分比的Size
            </summary>
        </member>
        <member name="P:CPF.SizeField.Fill">
            <summary>
            100%,100%
            </summary>
        </member>
        <member name="T:CPF.SolidColorFill">
            <summary>
            纯色填充
            </summary>
        </member>
        <member name="P:CPF.SolidColorFill.Color">
            <summary>
            填充颜色
            </summary>
        </member>
        <member name="M:CPF.SolidColorFill.op_Implicit(System.String)~CPF.SolidColorFill">
            <summary>
            颜色格式字符串
            </summary>
            <param name="n"></param>
        </member>
        <member name="F:CPF.Styling.Combinator.Child">
            <summary>
            子代
            </summary>
        </member>
        <member name="F:CPF.Styling.Combinator.Descendent">
            <summary>
            后代
            </summary>
        </member>
        <member name="F:CPF.Styling.Combinator.AdjacentSibling">
            <summary>
            邻接兄弟
            </summary>
        </member>
        <member name="F:CPF.Styling.Combinator.Sibling">
            <summary>
            兄弟
            </summary>
        </member>
        <member name="F:CPF.Styling.Combinator.Namespace">
            <summary>
            命名空间
            </summary>
        </member>
        <member name="T:CPF.Styling.ResourceManager">
            <summary>
            内嵌资源管理，让资源可以在CSS里引用。所有加载过的图片都会被弱引用缓存
            </summary>
        </member>
        <member name="M:CPF.Styling.ResourceManager.Register(System.Reflection.Assembly)">
            <summary>
            注册资源程序集，资源必须是内嵌的才能读取，程序集名称不能重复
            </summary>
            <param name="assembly"></param>
        </member>
        <member name="M:CPF.Styling.ResourceManager.RemoveAssembly(System.String)">
            <summary>
            移除程序集
            </summary>
        </member>
        <member name="P:CPF.Styling.ResourceManager.ErrorImage">
            <summary>
            获取或设置加载图片失败后的错误图片
            </summary>
        </member>
        <member name="M:CPF.Styling.ResourceManager.ClearCache">
            <summary>
            清除缓存数据
            </summary>
        </member>
        <member name="M:CPF.Styling.ResourceManager.GetImage(System.String,System.Action{CPF.Drawing.Image})">
            <summary>
            读取文件或者内嵌或者网络的图片，弱引用缓存
            </summary>
            <param name="path"></param>
            <param name="action"></param>
        </member>
        <member name="M:CPF.Styling.ResourceManager.GetText(System.String,System.Action{System.String})">
            <summary>
            读取文件或者内嵌或者网络的文本，弱引用缓存。
            </summary>
            <param name="path"></param>
            <param name="action"></param>
        </member>
        <member name="M:CPF.Styling.ResourceManager.GetText(System.String)">
            <summary>
            读取文件或者内嵌或者网络的文本，弱引用缓存。
            </summary>
            <param name="path"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.Styling.ResourceManager.GetImage(System.String)">
            <summary>
            读取文件或者内嵌或者网络的图片，弱引用缓存
            </summary>
            <param name="path"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.Styling.ResourceManager.GetStream(System.String)">
            <summary>
            加载流数据，不缓存
            </summary>
            <param name="path"></param>
            <returns></returns>
        </member>
        <member name="P:CPF.Styling.StyleRule.Declarations">
            <summary>
            样式声明  Width: 150;
            </summary>
        </member>
        <member name="P:CPF.Styling.StyleRule.Line">
            <summary>
            行号
            </summary>
        </member>
        <member name="T:CPF.Styling.AggregateSelectorList">
            <summary>
            ,
            </summary>
        </member>
        <member name="M:CPF.Styling.BaseSelector.Select(CPF.UIElement)">
            <summary>
            判断元素是否符合选择器标准
            </summary>
            <param name="element"></param>
            <returns></returns>
        </member>
        <member name="T:CPF.Styling.CombinatorSelector">
            <summary>
            组合器
            </summary>
        </member>
        <member name="T:CPF.Styling.ComplexSelector">
            <summary>
            复杂选择器
            </summary>
        </member>
        <member name="T:CPF.Styling.Selector">
            <summary>
            选择器
            </summary>
        </member>
        <member name="M:CPF.Styling.Selector.Select(CPF.UIElement)">
            <summary>
            判断元素是否符合选择器标准
            </summary>
            <param name="element"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.Styling.Selector.Child">
            <summary>
            直接子元素
            </summary>
            <returns></returns>
        </member>
        <member name="M:CPF.Styling.Selector.Descendant">
            <summary>
            子代以及所有后代
            </summary>
            <returns></returns>
        </member>
        <member name="T:CPF.Styling.SelectorRelation">
            <summary>
            选择器关系
            </summary>
        </member>
        <member name="P:CPF.Styling.SelectorRelation.Prev">
            <summary>
            上一个选择器
            </summary>
        </member>
        <member name="M:CPF.Styling.SelectorRelation.Class(System.String)">
            <summary>
            是否包含类名
            </summary>
            <param name="name"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.Styling.SelectorRelation.Name(System.String)">
            <summary>
            元素的Name
            </summary>
            <param name="name"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.Styling.SelectorRelation.OfType(System.Type)">
            <summary>
            不包括派生类
            </summary>
            <param name="type"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.Styling.SelectorRelation.OfType(System.String)">
            <summary>
            不包括派生类
            </summary>
            <param name="typeName"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.Styling.SelectorRelation.OfType``1">
            <summary>
            不包括派生类
            </summary>
            <typeparam name="T"></typeparam>
            <returns></returns>
        </member>
        <member name="M:CPF.Styling.SelectorRelation.Or(CPF.Styling.Selector[])">
            <summary>
            满足其中一个
            </summary>
            <param name="selectors"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.Styling.SelectorRelation.Or(System.Collections.Generic.IEnumerable{CPF.Styling.Selector})">
            <summary>
            满足其中一个
            </summary>
            <param name="selectors"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.Styling.SelectorRelation.PropertyEquals``1(System.String,``0)">
            <summary>
            值等于
            </summary>
            <typeparam name="T"></typeparam>
            <param name="property"></param>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.Styling.SelectorRelation.PropertyEquals(System.String,System.Object)">
            <summary>
            值等于
            </summary>
            <param name="property"></param>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.Styling.SelectorRelation.HasProperty(System.String)">
            <summary>
            包含属性
            </summary>
            <param name="property"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.Styling.ClassSelector.#ctor(System.String)">
            <summary>
            是否包含类名
            </summary>
            <param name="className"></param>
        </member>
        <member name="M:CPF.Styling.NameSelector.#ctor(System.String)">
            <summary>
            元素Name属性
            </summary>
            <param name="name"></param>
        </member>
        <member name="M:CPF.Styling.TypeSelector.#ctor(System.Type)">
            <summary>
            类型，不包含派生类
            </summary>
            <param name="type"></param>
        </member>
        <member name="T:CPF.Styling.PropertyEqualsSelector">
            <summary>
            属性值等于
            </summary>
        </member>
        <member name="M:CPF.Styling.PropertyEqualsSelector.#ctor(System.String,System.Object)">
            <summary>
            属性值等于
            </summary>
            <param name="property"></param>
            <param name="value"></param>
        </member>
        <member name="T:CPF.Styling.HasPropertySelector">
            <summary>
            有属性
            </summary>
        </member>
        <member name="T:CPF.Styling.OrSelector">
            <summary>
            满足其中一个
            </summary>
        </member>
        <member name="M:CPF.Styling.Specification.IsNonPrintable(System.Char)">
            The maximum allowed codepoint (defined in Unicode).
        </member>
        <member name="P:CPF.Styling.Style.Selector">
            <summary>
            选择器
            </summary>
        </member>
        <member name="P:CPF.Styling.Style.Setters">
            <summary>
            设置的属性名和值
            </summary>
        </member>
        <member name="P:CPF.Styling.Style.Animation">
            <summary>
            满足条件之后播放的动画
            </summary>
        </member>
        <member name="P:CPF.Styling.Style.AnimationDuration">
            <summary>
            动画持续时间
            </summary>
        </member>
        <member name="P:CPF.Styling.Style.AnimationIterationCount">
            <summary>
            动画播放次数，0为无限循环
            </summary>
        </member>
        <member name="P:CPF.Styling.Style.AnimationEndBehavior">
            <summary>
            动画结束之后的行为
            </summary>
        </member>
        <member name="P:CPF.Styling.StyleValue.HasValue">
            <summary>
            Value值是否有效
            </summary>
        </member>
        <member name="M:CPF.Styling.Setter.Add(System.String,System.Object)">
            <summary>
            添加设置的属性值
            </summary>
            <param name="property"></param>
            <param name="value"></param>
        </member>
        <member name="M:CPF.Styling.Setter.Add(System.String,System.String)">
            <summary>
            添加设置的属性值
            </summary>
            <param name="property"></param>
            <param name="cssValue">字符串自动根据元素的属性类型转换，不同元素的话属性类型必须一致</param>
        </member>
        <member name="M:CPF.Styling.Styles.Update">
            <summary>
            更新索引，提高检索速度
            </summary>
        </member>
        <member name="T:CPF.Styling.Trigger">
            <summary>
            触发器
            </summary>
        </member>
        <member name="M:CPF.Styling.Trigger.#ctor">
            <summary>
            触发器
            </summary>
        </member>
        <member name="M:CPF.Styling.Trigger.#ctor(System.String,CPF.Relation,System.Func{System.Object,System.Boolean})">
            <summary>
            触发器，如果属性的类型是bool，而且条件是属性值为true，PropertyConditions可以不设置
            </summary>
            <param name="Property"></param>
            <param name="TargetRelation"></param>
            <param name="PropertyConditions"></param>
        </member>
        <member name="P:CPF.Styling.Trigger.Animation">
            <summary>
            满足条件之后播放的动画
            </summary>
        </member>
        <member name="P:CPF.Styling.Trigger.Property">
            <summary>
            条件属性
            </summary>
        </member>
        <member name="P:CPF.Styling.Trigger.PropertyConditions">
            <summary>
            属性条件，参数是属性值，返回条件结果
            </summary>
        </member>
        <member name="P:CPF.Styling.Trigger.Setters">
            <summary>
            设置的属性名和值
            </summary>
        </member>
        <member name="P:CPF.Styling.Trigger.TargetRelation">
            <summary>
            相对位置元素，用来设置值或者动画
            </summary>
        </member>
        <member name="P:CPF.Styling.Trigger.AnimationDuration">
            <summary>
            动画持续时间
            </summary>
        </member>
        <member name="P:CPF.Styling.Trigger.AnimationIterationCount">
            <summary>
            动画播放次数，0为无限循环
            </summary>
        </member>
        <member name="P:CPF.Styling.Trigger.AnimationEndBehavior">
            <summary>
            动画结束之后的行为
            </summary>
        </member>
        <member name="M:CPF.Styling.HtmlColor.ToCss(System.Boolean)">
            <summary>
            Return the shortest form possible
            </summary>
        </member>
        <member name="T:CPF.Styling.TermList.TermSeparator">
            <summary>
            exposed enumeration for the adding of separators into term lists
            </summary>
        </member>
        <member name="P:CPF.Svg.ISvgShape.Elements">
            <summary>
            Group的时候才有内容
            </summary>
        </member>
        <member name="F:CPF.Svg.SvgType.Use">
            <summary>
            需要通过SVG对象的GetShape来获取具体的Shape
            </summary>
        </member>
        <member name="T:CPF.Svg.SVG">
            <summary>
            支持显示SVG图形，暂时不支持里面的滤镜，动画，图片引用，文字等，只能显示简单的图形
            </summary>
        </member>
        <member name="M:CPF.Svg.SVG.#ctor">
            <summary>
            支持显示SVG图形，暂时不支持里面的滤镜，动画，图片引用，文字等，只能显示简单的图形
            </summary>
        </member>
        <member name="M:CPF.Svg.SVG.#ctor(System.String)">
            <summary>
            可以是svg文件路径，或者直接是svg文档
            </summary>
            <param name="svgSource"></param>
        </member>
        <member name="P:CPF.Svg.SVG.Data">
            <summary>
            svg文档
            </summary>
        </member>
        <member name="P:CPF.Svg.SVG.Source">
            <summary>
            SVG源，可以是路径、Url、或者svg文档字符串
            </summary>
        </member>
        <member name="M:CPF.Svg.SVG.GetShape(System.String)">
            <summary>
            通过ID获取Shape
            </summary>
            <param name="id"></param>
            <returns></returns>
        </member>
        <member name="P:CPF.Svg.SVG.Elements">
            <summary>
            解析到的元素
            </summary>
        </member>
        <member name="P:CPF.Svg.SVG.Stretch">
            <summary>
            图片缩放模式
            </summary>
        </member>
        <member name="P:CPF.Svg.SVG.StretchDirection">
            <summary>
            描述如何对内容应用缩放，并限制对已命名像素类型的缩放。
            </summary>
        </member>
        <member name="P:CPF.Svg.SVG.Fill">
            <summary>
            图形的默认填充
            </summary>
        </member>
        <member name="T:CPF.TextureFill">
            <summary>
            纹理图片填充
            </summary>
        </member>
        <member name="M:CPF.TextureFill.#ctor(CPF.Drawing.Image)">
            <summary>
            纹理图片填充
            </summary>
            <param name="image"></param>
        </member>
        <member name="M:CPF.TextureFill.#ctor(System.String)">
            <summary>
            纹理图片路径，可以是URL或者文件路径或者res://内嵌资源路径  格式：url(img.gif)[,no-repeat/repeat(clamp/tile)][,none/fill/uniform/UniformToFill][,x y w h]  需要按顺序
            </summary>
            <param name="path"></param>
        </member>
        <member name="P:CPF.TextureFill.ImageClip">
            <summary>
            图片的裁剪区域
            </summary>
        </member>
        <member name="P:CPF.TextureFill.Stretch">
            <summary>
            图片填充模式
            </summary>
        </member>
        <member name="P:CPF.TextureFill.WrapMode">
            <summary>
            平铺模式
            </summary>
        </member>
        <member name="T:CPF.Thickness">
            <summary>
            表示四周的厚度，字符串格式 all、left,top,right,bottom
            </summary>
        </member>
        <member name="M:CPF.Thickness.#ctor(System.Single@)">
            <summary>
            表示四周的厚度 This constructur builds a Thickness with a specified value on every side.
            </summary>
            <param name="uniformLength">The specified uniform length.</param>
        </member>
        <member name="M:CPF.Thickness.#ctor(System.Single@,System.Single@,System.Single@,System.Single@)">
            <summary>
            This constructor builds a Thickness with the specified number of pixels on each side.
            表示四周的厚度
            </summary>
            <param name="left">The thickness for the left side.</param>
            <param name="top">The thickness for the top side.</param>
            <param name="right">The thickness for the right side.</param>
            <param name="bottom">The thickness for the bottom side.</param>
        </member>
        <member name="M:CPF.Thickness.#ctor(System.Single@,System.Single@)">
            <summary>
            Initializes a new instance of the <see cref="T:CPF.Thickness"/> structure.
            </summary>
            <param name="horizontal">The thickness on the left and right.</param>
            <param name="vertical">The thickness on the top and bottom.</param>
        </member>
        <member name="P:CPF.Thickness.Vertical">
            <summary>
            Top + Bottom
            </summary>
        </member>
        <member name="P:CPF.Thickness.Horizontal">
            <summary>
            Right + Left
            </summary>
        </member>
        <member name="M:CPF.Thickness.Equals(System.Object)">
            <summary>
            This function compares to the provided object for type and value equality.
            </summary>
            <param name="obj">Object to compare</param>
            <returns>True if object is a Thickness and all sides of it are equal to this Thickness'.</returns>
        </member>
        <member name="M:CPF.Thickness.Equals(CPF.Thickness)">
            <summary>
            Compares this instance of Thickness with another instance.
            </summary>
            <param name="thickness">Thickness instance to compare.</param>
            <returns><c>true</c>if this Thickness instance has the same value 
            and unit type as thickness.</returns>
        </member>
        <member name="M:CPF.Thickness.GetHashCode">
            <summary>
            This function returns a hash code.
            </summary>
            <returns>Hash code</returns>
        </member>
        <member name="M:CPF.Thickness.ToString">
            <summary>
            {Left},{Top},{Right},{Bottom}
            </summary>
            <returns>String conversion.</returns>
        </member>
        <member name="M:CPF.Thickness.Parse(System.String)">
            <summary>
            Parses a <see cref="T:CPF.Thickness"/> string.
            </summary>
            <param name="s">The string.</param>
            <returns>The <see cref="T:CPF.Thickness"/>.</returns>
        </member>
        <member name="M:CPF.Thickness.IsValid(System.Boolean,System.Boolean,System.Boolean,System.Boolean)">
            <summary>
            Verifies if this Thickness contains only valid values
            The set of validity checks is passed as parameters.
            </summary>
            <param name='allowNegative'>allows negative values</param>
            <param name='allowNaN'>allows Double.NaN</param>
            <param name='allowPositiveInfinity'>allows Double.PositiveInfinity</param>
            <param name='allowNegativeInfinity'>allows Double.NegativeInfinity</param>
            <returns>Whether or not the thickness complies to the range specified</returns>
        </member>
        <member name="M:CPF.Thickness.IsClose(CPF.Thickness)">
            <summary>
            Compares two thicknesses for fuzzy equality.  This function
            helps compensate for the fact that float values can 
            acquire error when operated upon
            </summary>
            <param name='thickness'>The thickness to compare to this</param>
            <returns>Whether or not the two points are equal</returns>
        </member>
        <member name="M:CPF.Thickness.AreClose(CPF.Thickness,CPF.Thickness)">
            <summary>
            Compares two thicknesses for fuzzy equality.  This function
            helps compensate for the fact that float values can 
            acquire error when operated upon
            </summary>
            <param name='thickness0'>The first thickness to compare</param>
            <param name='thickness1'>The second thickness to compare</param>
            <returns>Whether or not the two thicknesses are equal</returns>
        </member>
        <member name="M:CPF.Thickness.op_Equality(CPF.Thickness,CPF.Thickness)">
            <summary>
            Overloaded operator to compare two Thicknesses for equality.
            </summary>
            <param name="t1">first Thickness to compare</param>
            <param name="t2">second Thickness to compare</param>
            <returns>True if all sides of the Thickness are equal, false otherwise</returns>
        </member>
        <member name="M:CPF.Thickness.op_Inequality(CPF.Thickness,CPF.Thickness)">
            <summary>
            Overloaded operator to compare two Thicknesses for inequality.
            </summary>
            <param name="t1">first Thickness to compare</param>
            <param name="t2">second Thickness to compare</param>
            <returns>False if all sides of the Thickness are equal, true otherwise</returns>
        </member>
        <member name="P:CPF.Thickness.Left">
            <summary>This property is the Length on the thickness' left side</summary>
        </member>
        <member name="P:CPF.Thickness.Top">
            <summary>This property is the Length on the thickness' top side</summary>
        </member>
        <member name="P:CPF.Thickness.Right">
            <summary>This property is the Length on the thickness' right side</summary>
        </member>
        <member name="P:CPF.Thickness.Bottom">
            <summary>This property is the Length on the thickness' bottom side</summary>
        </member>
        <member name="M:CPF.ThicknessField.#ctor(CPF.FloatField@)">
            <summary>
            表示四周的厚度 This constructur builds a Thickness with a specified value on every side.
            </summary>
            <param name="uniformLength">The specified uniform length.</param>
        </member>
        <member name="M:CPF.ThicknessField.#ctor(CPF.FloatField@,CPF.FloatField@,CPF.FloatField@,CPF.FloatField@)">
            <summary>
            This constructor builds a Thickness with the specified number of pixels on each side.
            表示四周的厚度
            </summary>
            <param name="left">The thickness for the left side.</param>
            <param name="top">The thickness for the top side.</param>
            <param name="right">The thickness for the right side.</param>
            <param name="bottom">The thickness for the bottom side.</param>
        </member>
        <member name="M:CPF.Threading.Dispatcher.CheckAccess">
            <summary>
            调用线程是否是主线程，否则为false
            </summary>
            <returns></returns>
        </member>
        <member name="M:CPF.Threading.Dispatcher.VerifyAccess">
            <summary>
            验证线程访问权限
            </summary>
        </member>
        <member name="T:CPF.Threading.DispatcherTimer">
            <summary>
            主窗体存在的时候才有效
            </summary>
        </member>
        <member name="T:CPF.GeneralTransform">
            <summary>
            一般变换矩阵，用来做动画
            </summary>
        </member>
        <member name="P:CPF.GeneralTransform.OffsetX">
            <summary>
                X - float.  Default value is 0.0.
            </summary>
        </member>
        <member name="P:CPF.GeneralTransform.OffsetY">
            <summary>
                Y - float.  Default value is 0.0.
            </summary>
        </member>
        <member name="P:CPF.GeneralTransform.Angle">
            <summary>
            Angle - double.  Default value is 0.0.
            </summary>
        </member>
        <member name="P:CPF.GeneralTransform.ScaleX">
            <summary>
                ScaleX - float.  Default value is 1.0.
            </summary>
        </member>
        <member name="P:CPF.GeneralTransform.ScaleY">
            <summary>
                ScaleY - float.  Default value is 1.0.
            </summary>
        </member>
        <member name="P:CPF.GeneralTransform.SkewX">
            <summary>
            AngleX - float.  Default value is 0.0.
            </summary>
        </member>
        <member name="P:CPF.GeneralTransform.SkewY">
            <summary>
             AngleY - float.  Default value is 0.0 .
            </summary>
        </member>
        <member name="M:CPF.GeneralTransform.#ctor">
            <summary>
            一般变换矩阵，用来做动画
            </summary>
        </member>
        <member name="M:CPF.GeneralTransform.#ctor(System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single)">
            <summary>
            一般变换矩阵，用来做动画
            </summary>
            <param name="offsetX"></param>
            <param name="offsetY"></param>
            <param name="skewX"></param>
            <param name="skewY"></param>
            <param name="scaleX"></param>
            <param name="scaleY"></param>
            <param name="angle"></param>
        </member>
        <member name="M:CPF.RotateTransform.#ctor(System.Single)">
            <summary>
             Create a rotation transformation in degrees.
            </summary>
            <param name="angle">The angle of rotation in degrees.</param>
        </member>
        <member name="P:CPF.RotateTransform.Angle">
            <summary>
                Angle - double.  Default value is 0.0.
            </summary>
        </member>
        <member name="P:CPF.RotateTransform.Value">
            <summary>
                The DependencyProperty for the RotateTransform.Angle property.
            </summary>
        </member>
        <member name="M:CPF.ScaleTransform.#ctor">
            <summary>
             Create a scale transformation.
            </summary>
        </member>
        <member name="M:CPF.ScaleTransform.#ctor(System.Single,System.Single)">
            <summary>
             Create a scale transformation.
            </summary>
        </member>
        <member name="P:CPF.ScaleTransform.ScaleX">
            <summary>
                ScaleX - float.  Default value is 1.0.
            </summary>
        </member>
        <member name="P:CPF.ScaleTransform.ScaleY">
            <summary>
                ScaleY - float.  Default value is 1.0.
            </summary>
        </member>
        <member name="P:CPF.SkewTransform.AngleX">
            <summary>
                AngleX - float.  Default value is 0.0.
            </summary>
        </member>
        <member name="P:CPF.SkewTransform.AngleY">
            <summary>
                AngleY - float.  Default value is 0.0 .
            </summary>
        </member>
        <member name="T:CPF.Transform">
            <summary>
            字符串格式和CSS的差不多，但是没有单位，旋转没有xyz，其他变换没有z，比如：定义单个或者多个rotate(20) skew(15,3) translate(100,200) 或者单独一个 matrix(m11, m12, m21, m22, offsetX, offsetY) 默认值是Identity
            </summary>
        </member>
        <member name="P:CPF.Transform.Identity">
            <summary>
             恒等变换
            </summary>
        </member>
        <member name="M:CPF.Transform.DoTransform(CPF.Drawing.Point)">
            <summary>
            对Point执行变换
            </summary>
            <param name="point"></param>
            <returns></returns>
        </member>
        <member name="P:CPF.Transform.Value">
            <summary>
            变换矩阵
            </summary>
        </member>
        <member name="P:CPF.Transform.Inverse">
            <summary>
            返回一个逆变换，如果不可逆则返回null
            </summary>
        </member>
        <member name="M:CPF.Transform.op_Implicit(System.String)~CPF.Transform">
            <summary>
            字符串格式和CSS的差不多，但是没有单位，旋转没有xyz，比如：定义单个或者多个rotate(20) skew(15,3) translate(100,200)
            </summary>
            <param name="n"></param>
        </member>
        <member name="M:CPF.Transform.Parse(System.String)">
            <summary>
            字符串格式和CSS的差不多，但是没有单位，旋转没有xyz，其他变换没有z，比如：定义单个或者多个rotate(20) skew(15,3) translate(100,200)
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="P:CPF.TranslateTransform.X">
            <summary>
                X - float.  Default value is 0.0.
            </summary>
        </member>
        <member name="P:CPF.TranslateTransform.Y">
            <summary>
                Y - float.  Default value is 0.0.
            </summary>
        </member>
        <member name="T:CPF.TrieTree`1">
            <summary>
            字符串快速检索数据，不要使用，测试的
            </summary>
            <typeparam name="TValue"></typeparam>
        </member>
        <member name="M:CPF.TrieTree`1.Add(System.String,`0)">
            <summary>
            只能是数字、字母和_
            </summary>
            <param name="key"></param>
            <param name="value"></param>
        </member>
        <member name="M:CPF.TrieTree`1.Add(System.Collections.Generic.KeyValuePair{System.String,`0})">
            <summary>
            只能是数字、字母和_
            </summary>
            <param name="keyValue"></param>
        </member>
        <member name="M:CPF.TrieTree`1.TryGetValue(System.String,`0@)">
            <summary>
            只能是数字、字母和_
            </summary>
            <param name="key"></param>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="T:CPF.UIElement">
            <summary>
            提供UI相关的特性，图像，鼠标事件，触摸事件，布局，拖拽事件
            </summary>
        </member>
        <member name="P:CPF.UIElement.Presenters">
            <summary>
            被标记了的元素
            </summary>
        </member>
        <member name="P:CPF.UIElement.PresenterFor">
            <summary>
            用作模板中的特殊元素的标记
            </summary>
        </member>
        <member name="M:CPF.UIElement.FindPresenter``1">
            <summary>
            查找标记了的特殊元素
            </summary>
            <returns></returns>
        </member>
        <member name="M:CPF.UIElement.FindPresenter``1(System.Func{``0,System.Boolean})">
            <summary>
            查找标记了的特殊元素，绑定的时候使用
            </summary>
            <typeparam name="T"></typeparam>
            <param name="func"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.UIElement.FindPresenter">
            <summary>
            查找标记了的特殊元素
            </summary>
            <returns></returns>
        </member>
        <member name="M:CPF.UIElement.FindPresenterByName``1(System.String)">
            <summary>
            通过Name查找标记了的特殊元素
            </summary>
            <typeparam name="T"></typeparam>
            <param name="name"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.UIElement.FindPresenterByName(System.String)">
            <summary>
            通过Name查找标记了的特殊元素。绑定的时候用
            </summary>
            <param name="name"></param>
            <returns></returns>
        </member>
        <member name="P:CPF.UIElement.Effect">
            <summary>
            位图特效
            </summary>
        </member>
        <member name="P:CPF.UIElement.ToolTip">
            <summary>
            获取或设置在用户界面 (UI) 中为此元素显示的工具提示对象
            </summary>
        </member>
        <member name="P:CPF.UIElement.Name">
            <summary>
            元素名称
            </summary>
        </member>
        <member name="P:CPF.UIElement.IsKeyboardFocused">
            <summary>
            键盘焦点
            </summary>
        </member>
        <member name="P:CPF.UIElement.IsKeyboardFocusWithin">
            <summary>
            获取一个值，该值指示键盘焦点是否位于元素或其可视化树子元素内的任意位置
            </summary>
        </member>
        <member name="P:CPF.UIElement.FocusMethod">
            <summary>
            获取焦点的导航方式
            </summary>
        </member>
        <member name="P:CPF.UIElement.Focusable">
            <summary>
            是否可以获取焦点
            </summary>
        </member>
        <member name="P:CPF.UIElement.Tag">
            <summary>
            与控件关联的用户自定义数据
            </summary>
        </member>
        <member name="P:CPF.UIElement.IsFocused">
            <summary>
            是否有逻辑焦点
            </summary>
        </member>
        <member name="P:CPF.UIElement.TabIndex">
            <summary>
            tab键切换元素焦点时候的顺序
            </summary>
        </member>
        <member name="P:CPF.UIElement.FocusFrameFill">
            <summary>
            按tab键切换焦点显示的聚焦框填充
            </summary>
        </member>
        <member name="P:CPF.UIElement.FocusFrameStroke">
            <summary>
            按tab键切换焦点显示的聚焦框
            </summary>
        </member>
        <member name="P:CPF.UIElement.IsAntiAlias">
            <summary>
            图形抗锯齿
            </summary>
        </member>
        <member name="P:CPF.UIElement.IsMouseCaptured">
            <summary>
            该值指示此元素是否捕获了鼠标
            </summary>
        </member>
        <member name="P:CPF.UIElement.IsHitTestVisible">
            <summary>
            是否可以通过鼠标点击到
            </summary>
        </member>
        <member name="P:CPF.UIElement.AllowDrop">
            <summary>
            获取或设置一个值，该值指示此元素能否用作拖放操作的目标。
            </summary>
        </member>
        <member name="P:CPF.UIElement.ZIndex">
            <summary>
            Z轴
            </summary>
        </member>
        <member name="P:CPF.UIElement.Width">
            <summary>
            默认值为 Auto。此值必须大于或等于 0。
            </summary>
        </member>
        <member name="P:CPF.UIElement.Height">
            <summary>
            默认值为 Auto。此值必须大于或等于 0。
            </summary>
        </member>
        <member name="P:CPF.UIElement.Size">
            <summary>
            非依赖属性
            </summary>
        </member>
        <member name="P:CPF.UIElement.Margin">
            <summary>
            非依赖属性
            </summary>
        </member>
        <member name="P:CPF.UIElement.IsRoot">
            <summary>
            是否为根元素
            </summary>
        </member>
        <member name="P:CPF.UIElement.Root">
            <summary>
            根元素
            </summary>
        </member>
        <member name="P:CPF.UIElement.IsArrangeValid">
            <summary>
            获取一个值，该值指示此元素布局中的子元素的计算大小和位置是否有效。
            </summary>
        </member>
        <member name="P:CPF.UIElement.Parent">
            <summary>
            父级元素
            </summary>
        </member>
        <member name="P:CPF.UIElement.IsEnabled">
            <summary>
            是否启用
            </summary>
        </member>
        <member name="P:CPF.UIElement.Visibility">
            <summary>
            UI元素可见性
            </summary>
        </member>
        <member name="P:CPF.UIElement.Cursor">
            <summary>
            光标
            </summary>
        </member>
        <member name="P:CPF.UIElement.RenderBounds">
            <summary>
            布局之后相对于根元素的矩形剪辑区域
            </summary>
        </member>
        <member name="P:CPF.UIElement.RenderTransform">
            <summary>
            渲染变换
            </summary>
        </member>
        <member name="P:CPF.UIElement.RenderTransformOrigin">
            <summary>
            渲染原点
            </summary>
        </member>
        <member name="P:CPF.UIElement.IsMouseOver">
            <summary>
            获取一个值，该值指示鼠标指针是否位于此元素（包括可视树上的子元素）上
            </summary>
        </member>
        <member name="P:CPF.UIElement.IsDragOver">
            <summary>
             获取一个值，该值指示鼠标拖拽指针是否位于此元素（包括可视树上的子元素）上
            </summary>
        </member>
        <member name="P:CPF.UIElement.ActualSize">
            <summary>
            获取元素呈现的尺寸
            </summary>
        </member>
        <member name="P:CPF.UIElement.ActualOffset">
            <summary>
            元素偏移位置
            </summary>
        </member>
        <member name="P:CPF.UIElement.IsMeasureValid">
            <summary>
            获取一个值，该值指示布局度量值返回的当前大小是否有效。
            </summary>
        </member>
        <member name="P:CPF.UIElement.UseLayoutRounding">
            <summary>
            获取或设置一个值，该值指示是否应向此元素的大小和位置布局应用布局舍入。
            </summary>
        </member>
        <member name="P:CPF.UIElement.ContextMenu">
            <summary>
            右键菜单
            </summary>
        </member>
        <member name="M:CPF.UIElement.Invalidate">
            <summary>
            使图像无效化，下次更新的时候重绘
            </summary>
        </member>
        <member name="M:CPF.UIElement.IsAncestors(CPF.UIElement)">
            <summary>
            是否是该元素的祖先
            </summary>
            <param name="ancestors"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.UIElement.SetValue(System.Object,System.Byte@)">
            <summary>
            内部使用，请勿调用
            </summary>
            <param name="value"></param>
            <param name="propertyIndex"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.UIElement.GetValue(System.Byte@)">
            <summary>
            内部使用，请勿调用
            </summary>
            <param name="index"></param>
            <returns></returns>
        </member>
        <member name="P:CPF.UIElement.DesiredSize">
            <summary>
            获取在布局流程的度量传递过程中此元素计算所得的大小，包含margin。其实就是能包含所有内容的最小尺寸
            </summary>
            <returns></returns>
        </member>
        <member name="M:CPF.UIElement.MeasureOverride(CPF.Drawing.Size@)">
            <summary>
            在派生类中重写时，测量子元素或者内容在布局中所需的大小，availableSize不包含当前对象的Margin和Padding，并确定由 UIElement 派生的类的大小。
            </summary>
            <param name="availableSize">一般不要使用该属性参与计算</param>
            <returns>此元素基于其对子元素大小的计算确定它在布局期间所需要的大小。</returns>
        </member>
        <member name="M:CPF.UIElement.Measure(CPF.Drawing.Size@)">
            <summary>
            测量期望尺寸
            </summary>
            <param name="availableSize">一般不要使用该属性</param>
        </member>
        <member name="M:CPF.UIElement.MeasureCore(CPF.Drawing.Size@)">
            <summary>
            测量期望尺寸
            </summary>
            <param name="availableSize">相当于父容器能提供的尺寸，如果值为PositiveInfinity，则父容器未定义尺寸依赖子元素的尺寸</param>
            <returns>The desired size for the control.</returns>
        </member>
        <member name="M:CPF.UIElement.Arrange(CPF.Drawing.Rect)">
            <summary>
            Arranges the control and its children.
            </summary>
            <param name="rect">The control's new bounds.</param>
        </member>
        <member name="M:CPF.UIElement.GetHostClipBounds(CPF.Drawing.Rect)">
            <summary>
            获取在View上对应的剪辑区域
            </summary>
            <param name="rect"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.UIElement.GetMatrixToRoot">
            <summary>
            获取该元素相对Root的最终变换矩阵
            </summary>
            <returns></returns>
        </member>
        <member name="M:CPF.UIElement.GetMatrixToParent(CPF.UIElement)">
            <summary>
            获取该元素相对Parent的变换矩阵
            </summary>
            <param name="element"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.UIElement.ArrangeCore(CPF.Drawing.Rect@)">
            <summary>
            The default implementation of the control's arrange pass.
            </summary>
            <param name="finalRect">The control's new bounds.</param>
            <remarks>
            This method calls <see cref="M:CPF.UIElement.ArrangeOverride(CPF.Drawing.Size@)"/> which is probably the method you
            want to override in order to modify a control's arrangement.
            </remarks>
        </member>
        <member name="M:CPF.UIElement.ArrangeOverride(CPF.Drawing.Size@)">
            <summary>
            Positions child elements as part of a layout pass.
            </summary>
            <param name="finalSize">The size available to the control.</param>
            <returns>The actual size used.</returns>
        </member>
        <member name="M:CPF.UIElement.InvalidateMeasure">
            <summary>
            Invalidates the measurement of the control and queues a new layout pass.测量
            </summary>
        </member>
        <member name="M:CPF.UIElement.InvalidateArrange">
            <summary>
            Invalidates the arrangement of the control and queues a new layout pass.布局
            </summary>
        </member>
        <member name="M:CPF.UIElement.IsInvalidRect(CPF.Drawing.Rect)">
            <summary>
            Tests whether any of a <see cref="T:CPF.Drawing.Rect"/>'s properties incude nagative values,
            a NaN or Infinity.
            </summary>
            <param name="rect">The rect.</param>
            <returns>True if the rect is invalid; otherwise false.</returns>
        </member>
        <member name="M:CPF.UIElement.TransformPointInvert(CPF.Drawing.Point)">
            <summary>
            坐标转换，将父级坐标通过逆向变换为自己内部坐标
            </summary>
            <param name="point"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.UIElement.TransformPoint(CPF.Drawing.Point)">
            <summary>
            坐标转换，将自己内部坐标转换成父级坐标
            </summary>
            <param name="point"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.UIElement.HitTest(CPF.Drawing.Point)">
            <summary>
            用自己的内部坐标测试内部元素，从最深的后代元素到根（自己）
            </summary>
            <param name="point"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.UIElement.GetClipBounds">
            <summary>
            获取相对于父级的正矩形剪辑区域
            </summary>
            <returns></returns>
        </member>
        <member name="M:CPF.UIElement.GetClipBounds(CPF.Drawing.Rect@)">
            <summary>
            获取内部相对于父级的正矩形剪辑区域
            </summary>
            <returns></returns>
        </member>
        <member name="P:CPF.UIElement.Children">
            <summary>
            子级，一般自定义组件的时候使用
            </summary>
        </member>
        <member name="M:CPF.UIElement.GetChildren">
            <summary>
            获取子元素
            </summary>
            <returns></returns>
        </member>
        <member name="P:CPF.UIElement.PlayAnimationOnAddTrigger">
            <summary>
            当添加触发器时并且触发器有设置动画，如果满足条件是否播放动画
            </summary>
        </member>
        <member name="P:CPF.UIElement.Triggers">
            <summary>
            触发器集合
            </summary>
        </member>
        <member name="P:CPF.UIElement.DesignMode">
            <summary>
            是否处在设计模式
            </summary>
        </member>
        <member name="P:CPF.UIElement.IsRootInDesignMode">
            <summary>
            是否是设计模式下的根元素
            </summary>
        </member>
        <member name="M:CPF.UIElement.PointToScreen(CPF.Drawing.Point)">
            <summary>
            将指定工作区点的位置计算成屏幕坐标。像素坐标
            </summary>
            <param name="point"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.UIElement.PointToView(CPF.Drawing.Point)">
            <summary>
            将指定工作区点的位置计算成相对View的位置
            </summary>
            <param name="point"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.UIElement.PointToClient(CPF.Drawing.Point)">
            <summary>
            将指定屏幕点的像素位置计算成工作区坐标。
            </summary>
            <param name="point"></param>
            <returns></returns>
        </member>
        <member name="P:CPF.UIElement.Classes">
            <summary>
            应用到元素上的类名，多个类用,分割
            </summary>
        </member>
        <member name="M:CPF.UIElement.Find``1">
            <summary>
            查询所有内部元素，包含所有层
            </summary>
            <typeparam name="T"></typeparam>
            <returns></returns>
        </member>
        <member name="M:CPF.UIElement.OnAttachedToVisualTree">
            <summary>
            Called when the control is added to a visual tree.
            </summary>
        </member>
        <member name="M:CPF.UIElement.OnDetachedFromVisualTree">
            <summary>
            Called when the control is removed from a visual tree.
            </summary>
        </member>
        <member name="E:CPF.UIElement.UIElementAdded">
            <summary>
            添加可视化对象的时候
            </summary>
        </member>
        <member name="E:CPF.UIElement.UIElementRemoved">
            <summary>
            移除可视化对象的时候
            </summary>
        </member>
        <member name="M:CPF.UIElement.CaptureMouse">
            <summary>
            捕获鼠标，只有鼠标在元素范围内按下，而且IsEnabled为TRUE的时候才能捕获。当对象已捕获鼠标后，它接收鼠标输入，不论鼠标指针是否在其边界区域。 通常只有在执行模拟拖动操作时才捕获鼠标。 若要释放鼠标捕获，请对具有捕获的对象调用 ReleaseMouseCapture 方法。
            </summary>
            <returns></returns>
        </member>
        <member name="M:CPF.UIElement.ReleaseMouseCapture">
            <summary>
            ReleaseMouseCapture 方法对于已通过使用 CaptureMouse 方法捕获鼠标的对象禁用鼠标捕获。 当对象已捕获鼠标后，它接收鼠标输入，不论鼠标指针是否在其边界区域。 对不具有鼠标捕获的对象调用 ReleaseMouseCapture 无效。
            </summary>
        </member>
        <member name="M:CPF.UIElement.Clone">
            <summary>
            克隆依赖属性,绑定,子元素，触发器
            </summary>
            <returns></returns>
        </member>
        <member name="M:CPF.UIElement.CopyTo(CPF.UIElement)">
            <summary>
            将依赖属性本地值，绑定，子元素，触发器，拷贝到另外个对象
            </summary>
            <param name="element"></param>
        </member>
        <member name="M:CPF.UIElement.GetIntPtr">
            <summary>
            获取对象唯一地址
            </summary>
            <returns></returns>
        </member>
        <member name="F:CPF.UIElement._flags">
            <summary>
            用来省内存，8个bool字段只要1字节，省7个字节
            </summary>
        </member>
        <member name="P:CPF.UIElementAddedEventArgs.Element">
            <summary>
            被添加的UI元素
            </summary>
        </member>
        <member name="P:CPF.UIElementCollection.ElementList">
            <summary>
            内部UIElementList
            </summary>
        </member>
        <member name="M:CPF.UIElementCollection.OrderByTabIndexList">
            <summary>
            获取根据TabIndex排序之后的List
            </summary>
        </member>
        <member name="M:CPF.UIElementCollection.OrderByZIndexList">
            <summary>
            获取根据ZIndex排序之后的List
            </summary>
        </member>
        <member name="F:CPF.UIElementCollection.zindex">
            <summary>
            相同的值，如果出现不相同，将为int.Min
            </summary>
        </member>
        <member name="M:CPF.UIElementCollection.SortOfZIndex">
            <summary>
            根据ZIndex属性排序
            </summary>
        </member>
        <member name="M:CPF.UIElementCollection.InvalidateZIndex">
            <summary>
            重新按照ZIndex排序
            </summary>
        </member>
        <member name="M:CPF.UIElementCollection.Insert(System.Int32,CPF.UIElement)">
            <summary>
            将控件插入到指定索引处
            </summary>
            <param name="index"></param>
            <param name="visual"></param>
        </member>
        <member name="M:CPF.UIElementCollection.Sort(System.Collections.Generic.Comparer{CPF.UIElement})">
            <summary>
            使用指定的比较器对所有元素进行排序
            </summary>
            <param name="comparer">比较元素时要使用的比较器</param>
        </member>
        <member name="M:CPF.UIElementCollection.Sort(System.Collections.Generic.IComparer{CPF.UIElement})">
            <summary>
            使用指定的比较器对所有元素进行排序。
            </summary>
            <param name="comparer">比较元素时要使用的比较器</param>
        </member>
        <member name="M:CPF.UIElementCollection.Sort(System.Comparison{CPF.UIElement})">
            <summary>
            使用指定的 System.Comparison  对整个 UIElementCollection 中的元素进行排序。
            </summary>
            <param name="comparison"></param>
        </member>
        <member name="M:CPF.UIElementCollection.Sort(System.Int32,System.Int32,System.Collections.Generic.IComparer{CPF.UIElement})">
            <summary>
            使用指定的比较器对某个范围内的元素进行排序。
            </summary>
            <param name="index">要排序的范围的从零开始的起始索引。</param>
            <param name="count">要排序的范围的长度</param>
            <param name="comparer">比较元素时要使用的比较器</param>
        </member>
        <member name="M:CPF.UIElementCollection.Find(System.Predicate{CPF.UIElement})">
            <summary>
            搜索与指定谓词所定义的条件相匹配的元素，并返回整个集合中的第一个匹配元素
            </summary>
            <param name="match"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.UIElementCollection.Exists(System.Predicate{CPF.UIElement})">
            <summary>
            确定 集合 是否包含与指定谓词所定义的条件相匹配的元素
            </summary>
            <param name="match"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.UIElementCollection.FindAll(System.Predicate{CPF.UIElement})">
            <summary>
            检索与指定谓词定义的条件匹配的所有元素
            </summary>
            <param name="match"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.UIElementCollection.FindIndex(System.Predicate{CPF.UIElement})">
            <summary>
            搜索与指定谓词所定义的条件相匹配的元素，并返回整个集合 中第一个匹配元素的从零开始的索引。
            </summary>
            <param name="match"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.UIElementCollection.FindLast(System.Predicate{CPF.UIElement})">
            <summary>
            搜索与指定谓词所定义的条件相匹配的元素，并返回整个 集合 中的最后一个匹配元素。
            </summary>
            <param name="match"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.UIElementCollection.FindLastIndex(System.Predicate{CPF.UIElement})">
            <summary>
            搜索与指定谓词所定义的条件相匹配的元素，并返回整个 集合 中最后一个匹配元素的从零开始的索引。
            </summary>
            <param name="match"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.UIElementCollection.DisposeChildren">
            <summary>
            释放并清空子元素
            </summary>
        </member>
        <member name="P:CPF.UIElementRemovedEventArgs.Element">
            <summary>
            被移除的UI元素
            </summary>
        </member>
        <member name="T:CPF.UIElementTemplate">
            <summary>
            UI元素模板，可以是UIElement的实例或者Type用type的话可以完全克隆出新元素
            </summary>
        </member>
        <member name="M:CPF.UIElementTemplate.CreateElement">
            <summary>
            创建模板元素
            </summary>
            <returns></returns>
        </member>
        <member name="T:CPF.UIElementTemplate`1">
            <summary>
            UI元素模板，可以是Type或者UIElement的实例，用type的话可以完全克隆出新元素。限定模板基类
            </summary>
            <typeparam name="T">模板基类</typeparam>
        </member>
        <member name="M:CPF.UIElementTemplate`1.CreateElement">
            <summary>
            创建模板元素
            </summary>
            <returns></returns>
        </member>
        <member name="T:CPF.ViewFill">
            <summary>
            定义一个可视化元素的填充，默认支持 隐式转换的字符串格式，支持格式： #rrggbbaa、#rrggbb、r,g,b、r,g,b,a、或者直接设置图片，渐变格式 linear-gradient(startX startY,endX endY,color1 stop1,color2 stop2....) 颜色只能是#开头的格式,stop是0到1的数字，图片格式：url(img.gif) [no-repeat/repeat] [none/fill/uniform/UniformToFill]
            </summary>
        </member>
        <member name="M:CPF.ViewFill.CreateBrush(CPF.Drawing.Rect@,System.Single@)">
            <summary>
            创建笔刷
            </summary>
            <param name="rect"></param>
            <param name="renderScaling">DPI</param>
            <returns></returns>
        </member>
        <member name="M:CPF.ViewFill.op_Implicit(System.String)~CPF.ViewFill">
            <summary>
            颜色格式字符串
            </summary>
            <param name="n"></param>
        </member>
        <member name="M:CPF.ViewFill.op_Implicit(CPF.Drawing.Color)~CPF.ViewFill">
            <summary>
            Parses a color to Fill
            </summary>
            <param name="n"></param>
        </member>
        <member name="F:CPF.Visibility.Visible">
            <summary>
            Normally visible.
            </summary>
        </member>
        <member name="F:CPF.Visibility.Hidden">
            <summary>
            Occupies space in the layout, but is not visible (completely transparent).
            相当于透明，保留控件位置占用
            </summary>
        </member>
        <member name="F:CPF.Visibility.Collapsed">
            <summary>
            Not visible and does not occupy any space in layout, as if it doesn't exist.
            完全隐藏
            </summary>
        </member>
        <member name="T:CPF.VisibleUIElement">
            <summary>
            保存当前在可视范围内的元素
            </summary>
        </member>
        <member name="P:CPF.VisibleUIElement.Element">
            <summary>
            当前元素
            </summary>
        </member>
        <member name="P:CPF.VisibleUIElement.Children">
            <summary>
            子元素
            </summary>
        </member>
        <member name="T:CPF.Visual">
            <summary>
            表示一个可视化元素，提供呈现支持，包括命中测试，坐标变换
            </summary>
        </member>
        <member name="P:CPF.Visual.VisualOffset">
            <summary>
            可视化对象位置偏移
            </summary>
        </member>
        <member name="P:CPF.Visual.VisualTransform">
            <summary>
            可视化对象变换
            </summary>
        </member>
        <member name="P:CPF.Visual.VisualClip">
            <summary>
            可视对象的剪辑区域
            </summary>
        </member>
        <member name="P:CPF.Visual.ClipToBounds">
            <summary>
            获取或设置一个值，该值指示是否剪切此元素的内容(或来自此元素的子元素的内容)使其适合包含元素的大小。这是一个依赖项属性。
            </summary>
        </member>
        <member name="M:CPF.Visual.HitTestCore(CPF.Drawing.Point)">
            <summary>
            确定点是否在可视对象的内部，point需要包含偏移
            </summary>
            <param name="point"></param>
            <returns></returns>
        </member>
        <member name="M:CPF.Visual.GetContentBounds">
            <summary>
            获取内容边界,包含偏移，子类必须重写。不受变换影响
            </summary>
            <returns></returns>
        </member>
        <member name="T:CPF.VisualFill">
            <summary>
            使用 UIElement 绘制区域。
            </summary>
        </member>
        <member name="P:CPF.VisualFill.Image">
            <summary>
            不要设置
            </summary>
        </member>
        <member name="T:CPF.WeakEventHandler">
            <summary>
            弱引用事件
            </summary>
        </member>
        <member name="T:CPF.WeakEventHandlerList">
            <summary>
            弱引用事件，可以防止注册之后忘记取消绑定导致内存泄露问题，以及重复注册问题
            </summary>
        </member>
        <member name="M:CPF.WeakEventHandlerList.#ctor">
            <summary>
            弱引用事件，可以防止注册之后忘记取消绑定导致内存泄露问题，以及重复注册问题
            </summary>
        </member>
    </members>
</doc>
