當前位置: 首頁>>代碼示例>>C#>>正文


C# Geometry.IsEmpty方法代碼示例

本文整理匯總了C#中System.Windows.Media.Geometry.IsEmpty方法的典型用法代碼示例。如果您正苦於以下問題:C# Geometry.IsEmpty方法的具體用法?C# Geometry.IsEmpty怎麽用?C# Geometry.IsEmpty使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在System.Windows.Media.Geometry的用法示例。


在下文中一共展示了Geometry.IsEmpty方法的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。

示例1: DrawGeometry

        /// <summary>
        ///     DrawGeometry -
        ///     Draw a Geometry with the provided Brush and/or Pen.
        ///     If both the Brush and Pen are null this call is a no-op.
        /// </summary>
        /// <param name="brush">
        ///     The Brush with which to fill the Geometry.
        ///     This is optional, and can be null, in which case no fill is performed.
        /// </param>
        /// <param name="pen">
        ///     The Pen with which to stroke the Geometry.
        ///     This is optional, and can be null, in which case no stroke is performed.
        /// </param>
        /// <param name="geometry"> The Geometry to fill and/or stroke. </param>
        public override void DrawGeometry(
            Brush brush,
            Pen pen,
            Geometry geometry)
        {
            if (IsCurrentLayerNoOp ||(geometry == null) || geometry.IsEmpty())
            {
                return;
            }

            if (brush != null)
            {
                _contains |= geometry.FillContains(_point);
            }

            // If we have a pen and we haven't yet hit, try the widened geometry.
            if ((pen != null) && !_contains)
            {
                _contains |= geometry.StrokeContains(pen, _point);
            }

            // If we've hit, stop walking.
            if (_contains)
            {
                StopWalking();
            }
        }
開發者ID:nlh774,項目名稱:DotNetReferenceSource,代碼行數:41,代碼來源:HitTestWithPointDrawingContextWalker.cs

示例2: GetItemsInGeometry

        public IList<object> GetItemsInGeometry(Geometry geometry)
        {
            if (geometry == null || geometry.IsEmpty())
            {
                return null;
            }

            return Items.Cast<object>().Where(i => IsItemInGeometry(i, geometry)).ToList();
        }
開發者ID:bhanu475,項目名稱:XamlMapControl,代碼行數:9,代碼來源:MapItemsControl.WPF.cs

示例3: GetFirstItemInGeometry

        public object GetFirstItemInGeometry(Geometry geometry)
        {
            if (geometry == null || geometry.IsEmpty())
            {
                return null;
            }

            return Items.Cast<object>().FirstOrDefault(i => IsItemInGeometry(i, geometry));
        }
開發者ID:bhanu475,項目名稱:XamlMapControl,代碼行數:9,代碼來源:MapItemsControl.WPF.cs

示例4: DrawGeometry

        /// <summary>
        ///     DrawGeometry - 
        ///     Draw a Geometry with the provided Brush and/or Pen.
        ///     If both the Brush and Pen are null this call is a no-op. 
        /// </summary> 
        /// <param name="brush">
        ///     The Brush with which to fill the Geometry. 
        ///     This is optional, and can be null, in which case no fill is performed.
        /// </param>
        /// <param name="pen">
        ///     The Pen with which to stroke the Geometry. 
        ///     This is optional, and can be null, in which case no stroke is performed.
        /// </param> 
        /// <param name="geometry"> The Geometry to fill and/or stroke. </param> 
        public override void DrawGeometry(
            Brush brush, 
            Pen pen,
            Geometry geometry)
        {
            if ((geometry == null) || geometry.IsEmpty()) 
            {
                return; 
            } 

            Geometry testedGeometry; 

            // Transform if so prescribed
            if ((_currentTransform != null) && !_currentTransform.IsIdentity)
            { 
                testedGeometry = geometry.GetTransformedCopy(_currentTransform);
            } 
            else 
            {
                testedGeometry = geometry; 
            }

            // Clip, if so prescribed
            if (_currentClip != null) 
            {
                testedGeometry = Geometry.Combine( 
                    testedGeometry, 
                    _currentClip,
                    GeometryCombineMode.Intersect, 
                    null);  // transform
            }

            if (brush != null) 
            {
                AccumulateIntersectionDetail(testedGeometry.FillContainsWithDetail(_geometry)); 
            } 

            // If we have a pen and we haven't yet hit, try the widened geometry. 
            if ((pen != null) && !_contains)
            {
                AccumulateIntersectionDetail(testedGeometry.StrokeContainsWithDetail(pen, _geometry));
            } 

            // If we've hit, stop walking. 
            if (_contains) 
            {
                StopWalking(); 
            }
        }
開發者ID:sjyanxin,項目名稱:WPFSource,代碼行數:63,代碼來源:HitTestWithGeometryDrawingContextWalker.cs

示例5: AddGeometry

        /// <summary>
        ///
        /// </summary>
        public void AddGeometry(Geometry geometry)
        {
            if (geometry == null)
            {
                throw new System.ArgumentNullException("geometry");
            }

            if (geometry.IsEmpty())
            {
                return;
            }

            PathFigureCollection figureCollection = geometry.GetPathFigureCollection();
            Debug.Assert(figureCollection != null);

            PathFigureCollection figures = Figures;

            if (figures == null)
            {
                figures = Figures = new PathFigureCollection();
            }

            for (int i = 0; i < figureCollection.Count; ++i)
            {
                figures.Add(figureCollection.Internal_GetItem(i));
            }
        }
開發者ID:nlh774,項目名稱:DotNetReferenceSource,代碼行數:30,代碼來源:PathGeometry.cs


注:本文中的System.Windows.Media.Geometry.IsEmpty方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。