当前位置: 首页>>代码示例>>C#>>正文


C# NodeCollection.OfType方法代码示例

本文整理汇总了C#中NodeCollection.OfType方法的典型用法代码示例。如果您正苦于以下问题:C# NodeCollection.OfType方法的具体用法?C# NodeCollection.OfType怎么用?C# NodeCollection.OfType使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在NodeCollection的用法示例。


在下文中一共展示了NodeCollection.OfType方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: CreateWindow


//.........这里部分代码省略.........
                    }

                    SizeF size = wnd.GetWindowSize();
                    bool allowResize = true;
                    bool onlyOne = false;

                    if (currentDisplay is PassiveDisplay)
                    {
                        if (segmentSupport == null || (segmentSupport != null && (segmentSupport.SegmentColumns == 1 && segmentSupport.SegmentRows == 1)))
                        {
                            //пассивный односегментный дисплей
                            position = new PointF(0, 0);
                            size = new SizeF(currentDisplay.Width, currentDisplay.Height);
                            allowResize = false;
                            onlyOne = true;
                        }
                    }

                    if (currentDisplay is ActiveDisplay)
                    {
                        if (segmentSupport != null && (segmentSupport.SegmentColumns > 1 || segmentSupport.SegmentRows > 1))
                        //активный многосегментный дисплей
                        {
                            if (wnd.Window.Source.ResourceDescriptor.ResourceInfo.IsHardware)
                            {
                                //nop
                            }
                        }

                        if (!currentDisplay.Type.SupportsMultiWindow)
                            onlyOne = true;
                    }


                    RectangleF destRect = new RectangleF(position, size);
                    wnd.SetBoundsInfo(destRect);

                    #region проверка на перекрытие другого ресурса
                    NodeCollection childs = new NodeCollection();

                    int n = Model.GetChildrenIntersecting(childs, destRect);
                    if (n > 0)
                    {
                        var windows = childs.OfType<SourceWindow>().Except(new[] { wnd });
                        if (windows.Count() > 0)
                        {
                            SourceWindow sourceWnd = windows.Last();

                            if (MessageBoxExt.Show(String.Format("Заменить источник?", sourceWnd.Name), Properties.Resources.Confirmation, MessageBoxButtons.OKCancel, MessageBoxIcon.Question, new string[] { "Да", "Нет" }) == DialogResult.OK)
                            {
                                CurrentLayout.ReplaceWindows(sourceWnd.Window, wnd.Window);

                                //sourceWnd.Mapping = wnd.Mapping;
                                sourceWnd.Name = wnd.Mapping.ResourceInfo.Name;
                                sourceWnd.Window = wnd.Window;
                                sourceWnd.UpdateWindowInfo();
                                sourceWnd.Refresh();

                                ProvideReferenceFor(sourceWnd);

                                PresentationController.Instance.SendOnSelectedResourceChanged(sourceWnd);
                                status = CreateWindowStatus.WindowReplaced;
                                PresentationController.Instance.PresentationChanged = true;
                                return false;
                            }
                            else
                            {
                                if (onlyOne)
                                {
                                    status = CreateWindowStatus.NotSupportMultiWindow;
                                    return false;
                                }
                            }
                        }
                    }

                    #endregion

                    CurrentLayout.AppendToLayout(wnd.Window);
                    wnd.EditStyle.AllowChangeHeight = allowResize;
                    wnd.EditStyle.AllowChangeWidth = allowResize;
                    //https://sentinel2.luxoft.com/sen/issues/browse/PMEDIAINFOVISDEV-1492
                    wnd.EditStyle.AllowMoveX = allowResize;
                    wnd.EditStyle.AllowMoveY = allowResize;

                    //PresentationController.Instance.PresentationChanged = true;
                    PresentationController.Instance.SendOnSelectedResourceChanged(wnd);
                    status = CreateWindowStatus.WindowCreated;

                    ProvideReferenceFor(wnd);

                    return true;
                }
                else
                    MessageBoxExt.Show(UI.PresentationDesign.DesignUI.Properties.Resources.UnableCreateSource, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

            status = CreateWindowStatus.InvalidDisplay;
            return false;
        }
开发者ID:AlexSneg,项目名称:VIRD-1.0,代码行数:101,代码来源:LayoutController.cs

示例2: Transform

        private IEnumerable<TfsGroupNode> Transform(NodeCollection collection)
        {
            return collection.OfType<Node>().Select(x =>
            {
                var css = TfsCollection.GetService<ICommonStructureService4>();
                var node = css.GetNode(x.Uri.OriginalString);

                return new TfsGroupNode()
                {
                    Children = x.HasChildNodes ? Transform(x.ChildNodes) : null,
                    Name = x.Name,
                    Id = x.Id,
                    IsIterationNode = x.IsIterationNode,
                    IsAreaNode = x.IsAreaNode,
                    Uri = x.Uri,
                    StartDate = node.StartDate,
                    EndDate = node.FinishDate,
                };
            }).ToList();
        }
开发者ID:panzors,项目名称:TfsGamification,代码行数:20,代码来源:TfsConnection.cs

示例3: CheckSelection

        public void CheckSelection(NodeCollection nodes)
        {
            var slideNodes = nodes.OfType<SlideView>();
            List<Slide> slides = new List<Slide>();

            if (slideNodes.Count() > 0)
                slides = slideNodes.Select(s => s.Slide).ToList();

            goLastSlideButton.Enabled = m_controller.CanSelectLastSlide();

            if (slides.Count > 0)
            {
                prevSlideButton.Enabled = PresentationController.Instance.CanSelectPrevSlide;
                nextSlideButton.Enabled = PresentationController.Instance.CanSelectNextSlide;

                propertiesStripButton.Enabled = slides.Count() == 1;

                var linked_slides = m_controller.GetLinksFromCurrent();
                nextSlideButton.DropDown.Items.Clear();
                if (linked_slides.Count > 1)
                {
                    //show dropdown
                    nextSlideButton.DropDownButtonWidth = 10;
                    foreach (var slide in linked_slides)
                    {
                        ToolStripMenuItem mi = new ToolStripMenuItem(slide.SlideName);
                        mi.Tag = slide;
                        mi.Click += new EventHandler(mi_Click);
                        nextSlideButton.DropDown.Items.Add(mi);
                    }
                }
                else
                {
                    //hide dropdown
                    nextSlideButton.DropDownButtonWidth = 0;
                }
            }
            else
            {
                propertiesStripButton.Enabled = false;
                propertiesMenuItem.Enabled = false;
                prevSlideButton.Enabled = nextSlideButton.Enabled = false;
            }

            lockStripButton.Enabled = PresentationController.Instance.IsLockGUICommandEnabled(slides);
            unlockStripButton.Enabled = PresentationController.Instance.IsUnlockGUICommandEnabled(slides);

            if (_isEnabled)
            {
                bool locked = PresentationController.Instance.IsSlidesLocked(slides);
                removeStripButton.Enabled = copyStripButton.Enabled = (locked && PresentationController.Instance.CanUnlockSlides(slides)) || !locked;
                pasteStripButton.Enabled = this.CanPaste;
            }
            else
            {
                removeStripButton.Enabled = false;
                copyStripButton.Enabled = pasteStripButton.Enabled = false;
            }
            SetLockButtonsState(null);            
        }
开发者ID:AlexSneg,项目名称:VIRD-1.0,代码行数:60,代码来源:SlideDiagramControl.cs


注:本文中的NodeCollection.OfType方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。