• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C# Documents.Block类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C#中System.Windows.Documents.Block的典型用法代码示例。如果您正苦于以下问题:C# Block类的具体用法?C# Block怎么用?C# Block使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



Block类属于System.Windows.Documents命名空间,在下文中一共展示了Block类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。

示例1: AddBlock

        public static void AddBlock(Block from, FlowDocument to)
        {
            if (from != null)
              {
            //if (from is ItemsContent)
            //{
            //  ((ItemsContent)from).RunBeforeCopy();
            //}
            //else
            {
              TextRange range = new TextRange(from.ContentStart, from.ContentEnd);

              MemoryStream stream = new MemoryStream();

              System.Windows.Markup.XamlWriter.Save(range, stream);

              range.Save(stream, DataFormats.XamlPackage);

              TextRange textRange2 = new TextRange(to.ContentEnd, to.ContentEnd);

              textRange2.Load(stream, DataFormats.XamlPackage);
            }

              }
        }
开发者ID:adamnowak,项目名称:SmartWorking,代码行数:25,代码来源:XPSCreator.cs


示例2: ReportPaginator

        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="report">report document</param>
        /// <param name="data">report data</param>
        /// <exception cref="ArgumentException">Flow document must have a specified page height</exception>
        /// <exception cref="ArgumentException">Flow document must have a specified page width</exception>
        /// <exception cref="ArgumentException">Flow document can have only one report header section</exception>
        /// <exception cref="ArgumentException">Flow document can have only one report footer section</exception>
        public ReportPaginator(ReportDocument report, ReportData data)
        {
            _report = report;
            _data = data;

            _flowDocument = report.CreateFlowDocument();
            _pageSize = new Size(_flowDocument.PageWidth, _flowDocument.PageHeight);

            if (_flowDocument.PageHeight == double.NaN) throw new ArgumentException("Flow document must have a specified page height");
            if (_flowDocument.PageWidth == double.NaN) throw new ArgumentException("Flow document must have a specified page width");

            _dynamicCache = new ReportPaginatorDynamicCache(_flowDocument);
            ArrayList listPageHeaders = _dynamicCache.GetFlowDocumentVisualListByType(typeof(SectionReportHeader));
            if (listPageHeaders.Count > 1) throw new ArgumentException("Flow document can have only one report header section");
            if (listPageHeaders.Count == 1) _blockPageHeader = (SectionReportHeader)listPageHeaders[0];
            ArrayList listPageFooters = _dynamicCache.GetFlowDocumentVisualListByType(typeof(SectionReportFooter));
            if (listPageFooters.Count > 1) throw new ArgumentException("Flow document can have only one report footer section");
            if (listPageFooters.Count == 1) _blockPageFooter = (SectionReportFooter)listPageFooters[0];

            _paginator = ((IDocumentPaginatorSource)_flowDocument).DocumentPaginator;

            // remove header and footer in our working copy
            Block block = _flowDocument.Blocks.FirstBlock;
            while (block != null)
            {
                Block thisBlock = block;
                block = block.NextBlock;
                if ((thisBlock == _blockPageHeader) || (thisBlock == _blockPageFooter)) _flowDocument.Blocks.Remove(thisBlock);
            }

            // get report context values
            _reportContextValues = _dynamicCache.GetFlowDocumentVisualListByInterface(typeof(IInlineContextValue));

            FillData();
        }
开发者ID:ivpusic,项目名称:Edward-company-cSharp-app,代码行数:44,代码来源:ReportPaginator.cs


示例3: AnchoredBlock

        //-------------------------------------------------------------------
        //
        // Constructors
        //
        //-------------------------------------------------------------------

        #region Constructors

        /// <summary>
        /// Creates a new AnchoredBlock instance.
        /// </summary>
        /// <param name="block">
        /// Optional child of the new AnchoredBlock, may be null.
        /// </param>
        /// <param name="insertionPosition">
        /// Optional position at which to insert the new AnchoredBlock. May
        /// be null.
        /// </param>
        protected AnchoredBlock(Block block, TextPointer insertionPosition)
        {
            if (insertionPosition != null)
            {
                insertionPosition.TextContainer.BeginChange();
            }
            try
            {
                if (insertionPosition != null)
                {
                    // This will throw InvalidOperationException if schema validity is violated.
                    insertionPosition.InsertInline(this);
                }

                if (block != null)
                {
                    this.Blocks.Add(block);
                }
            }
            finally
            {
                if (insertionPosition != null)
                {
                    insertionPosition.TextContainer.EndChange();
                }
            }
        }
开发者ID:JianwenSun,项目名称:cc,代码行数:45,代码来源:AnchoredBlock.cs


示例4: AddBlock

 private void AddBlock(Block block, TextSelection selection)
 {
     if (selection == null || selection.End == null)
         AddBlockToEnd(block);
     else
         _flowDocument.Blocks.InsertAfter(selection.End.GetInsertionPosition(LogicalDirection.Forward).Paragraph, block);
 }
开发者ID:hinduCoder,项目名称:Diploma,代码行数:7,代码来源:FormattingProvider.cs


示例5: BlockComponent

        public BlockComponent(Block block)
        {
            if (block == null) throw new ArgumentNullException(nameof(block));

            Block = block;

            SubscribeForEvents();
        }
开发者ID:ethno2405,项目名称:BrailleTranslator,代码行数:8,代码来源:BlockComponent.cs


示例6: Serialize

 public XmlElement Serialize(Block block, XmlDocument xmlDocument)
 {
     var image = (ImageBlock)block;
     var imageElement = xmlDocument.CreateElement("Image");
     var srcAttribute = xmlDocument.CreateAttribute("Src");
     srcAttribute.InnerText = Path.GetFileName(image.Source.ToString());
     imageElement.Attributes.Append(srcAttribute);
     return imageElement;
 }
开发者ID:hinduCoder,项目名称:Diploma,代码行数:9,代码来源:ISerializeBlockStrategy.cs


示例7: readSocket

 public Block readSocket(Block source, Block destination)
 {
     StackPanel innards = (StackPanel)source.innerPane.Children.ElementAt(0);
     List<System.Windows.UIElement> components = innards.Children.ToList();
     Debug.WriteLine("+" + components.ElementAt(0));
     destination.innerPane.Children.Clear();
     destination.innerPane.Children.Insert(0, source.innerPane.Children.ElementAt(0));
     return destination;
 }
开发者ID:dhumphri,项目名称:CSE485-Columba,代码行数:9,代码来源:SocketReader.cs


示例8: ReadRuns

 private static IEnumerable<string> ReadRuns(Block block)
 {
     var result = new List<string>();
     if (block is Paragraph)
     {
         result.AddRange((block as Paragraph).Inlines.OfType<Run>().Select(inline => inline.Text.Trim()));
     }
     return result;
 }
开发者ID:hpbaotho,项目名称:sambapos,代码行数:9,代码来源:PrinterTools.cs


示例9: Section

        /// <summary>
        /// Initializes a new instance of a Section class specifying a first Block child for it.
        /// </summary>
        /// <param name="block">
        /// Block element added to a Section as its first child.
        /// </param>
        public Section(Block block)
            : base()
        {
            if (block == null)
            {
                throw new ArgumentNullException("block");
            }

            this.Blocks.Add(block);
        }
开发者ID:JianwenSun,项目名称:cc,代码行数:16,代码来源:Section.cs


示例10: AddBlock

 private void AddBlock(Block block)
 {
     if (scroll == null)
     scroll = reportViewer.Template.FindName("PART_ContentHost", reportViewer) as ScrollViewer;
       if (scroll.ScrollableHeight - scroll.ExtentHeight < 5)
       {
     report.Blocks.Add(block);
     scroll.ScrollToEnd();
       }
       else
     report.Blocks.Add(block);
 }
开发者ID:sunoru,项目名称:PBO,代码行数:12,代码来源:BattleReport.xaml.cs


示例11: AddXaml

 /// <summary>Adds XAML content to a RichTextBox.</summary>
 /// <param name="richTextBox">The textbox to add to.</param>
 /// <param name="xaml">The block to add.</param>
 /// <remarks>This method effectively handles a Section block element if specified (adding all child Blocks to the textbox).</remarks>
 public static void AddXaml(this RichTextBox richTextBox, Block xaml)
 {
     if (richTextBox == null) throw new ArgumentNullException("richTextBox");
     if (xaml == null) throw new ArgumentNullException("xaml");
     if (xaml is Section)
     {
         AddBlocks(richTextBox, ((Section)xaml).Blocks);
     }
     else
     {
         richTextBox.Blocks.Add(xaml);
     }
 }
开发者ID:philcockfield,项目名称:Open.TestHarness.SL,代码行数:17,代码来源:ControlExtensions.cs


示例12: ReportPaginator

        // ReSharper restore InconsistentNaming

        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="report">report document</param>
        /// <param name="data">report data</param>
        /// <exception cref="ArgumentException">Flow document must have a specified page height</exception>
        /// <exception cref="ArgumentException">Flow document must have a specified page width</exception>
        /// <exception cref="ArgumentException">Flow document can have only one report header section</exception>
        /// <exception cref="ArgumentException">Flow document can have only one report footer section</exception>
        public ReportPaginator(ReportDocument report, ReportData data, Action<int, int> PageGeneratedCallBack = null, FlowDocument flowDocument = null)
        {
            _report = report;
            _data = data;
            _pageGeneratedCallBack = PageGeneratedCallBack;

            _flowDocument = flowDocument;
            if (_flowDocument == null) 
                _flowDocument = report.CreateFlowDocument();

            _pageSize = new Size(_flowDocument.PageWidth, _flowDocument.PageHeight);

            if (_flowDocument.PageHeight == double.NaN) throw new ArgumentException("Flow document must have a specified page height");
            if (_flowDocument.PageWidth == double.NaN) throw new ArgumentException("Flow document must have a specified page width");

            _dynamicCache = new ReportPaginatorDynamicCache(_flowDocument);
            ArrayList listPageHeaders = _dynamicCache.GetFlowDocumentVisualListByType(typeof(SectionReportHeader));
            if (listPageHeaders.Count > 1) throw new ArgumentException("Flow document can have only one report header section");
            if (listPageHeaders.Count == 1) _blockPageHeader = (SectionReportHeader)listPageHeaders[0];
            ArrayList listPageFooters = _dynamicCache.GetFlowDocumentVisualListByType(typeof(SectionReportFooter));
            if (listPageFooters.Count > 1) throw new ArgumentException("Flow document can have only one report footer section");
            if (listPageFooters.Count == 1) _blockPageFooter = (SectionReportFooter)listPageFooters[0];

            _paginator = ((IDocumentPaginatorSource)_flowDocument).DocumentPaginator;

            // remove header and footer in our working copy
            Block block = _flowDocument.Blocks.FirstBlock;
            while (block != null)
            {
                Block thisBlock = block;
                block = block.NextBlock;
                if ((thisBlock == _blockPageHeader) || (thisBlock == _blockPageFooter)) _flowDocument.Blocks.Remove(thisBlock);
            }

            // get report context values
            _reportContextValues = _dynamicCache.GetFlowDocumentVisualListByInterface(typeof(IInlineContextValue));

            FillData();

            /*Application.Current.Dispatcher.Invoke(new Action(() =>
                {
                    Window aa = new Window();
                    FlowDocumentPageViewer bb = new FlowDocumentPageViewer();
                    bb.Document = _flowDocument;
                    aa.Content = bb;
                    aa.SizeToContent = SizeToContent.WidthAndHeight;
                    aa.ShowDialog();
                }));*/
        }
开发者ID:ChrisCross67,项目名称:CodeReason.Reports,代码行数:60,代码来源:ReportPaginator.cs


示例13: PowerEntry

        /// <summary>
        /// Create a new <see cref="PowerEntry"/>. All arguments to this method are assumed 
        /// to be escaped for HTML already.
        /// </summary>
        /// <param name="heading">
        /// The heading <see cref="Block"/>. This cannot be null.
        /// </param>
        /// <param name="flavorText">
        /// The flavor text <see cref="Block"/>. This may be null.
        /// </param>
        /// <param name="detail">
        /// The detail <see cref="Block"/>.  This cannot be null.
        /// </param>
        /// <param name="modifierSource">
        /// The <see cref="ModifierSource"/> that this <see cref="PowerEntry"/> was created for.
        /// This may be null.
        /// </param>
        /// <exception cref="ArgumentNullException">
        /// Only <paramref name="modifierSource"/> can be null.
        /// </exception>
        public PowerEntry(Block heading, Block flavorText, Block detail, ModifierSource modifierSource)
        {
            if (heading == null)
            {
                throw new ArgumentNullException("heading");
            }
            if (detail == null)
            {
                throw new ArgumentNullException("detail");
            }

            Heading = heading;
            FlavorText = flavorText;
            Detail = detail;
            ModifierSource = modifierSource;
        }
开发者ID:anthonylangsworth,项目名称:GammaWorldCharacter,代码行数:36,代码来源:PowerEntry.cs


示例14: Accept

        private bool Accept(Block block)
        {
            if (!TryMatch(block)) return false;

            if (block is Table)
            {
                foreach (var inner in ((Table) block).RowGroups
                    .SelectMany(x => x.Rows)
                    .SelectMany(x => x.Cells)
                    .SelectMany(x => x.Blocks))
                {
                    if (!Accept(inner)) return false;
                }

                return true;
            }

            if (block is Paragraph)
            {
                foreach (var inner in  ((Paragraph) block).Inlines)
                {
                    if (!TryMatch(inner)) return false;
                }

                return true;
            }

            if (block is BlockUIContainer)
            {
                // ignore children
                return true;
            }

            if (block is List)
            {
                foreach (var inner in  ((List) block).ListItems.SelectMany(listItem => listItem.Blocks))
                {
                    if (!Accept(inner)) return false;
                }

                return true;
            }

            throw new InvalidOperationException("Unknown block type: " + block.GetType());
        }
开发者ID:JackWangCUMT,项目名称:Plainion,代码行数:45,代码来源:FlowDocumentVisitor.cs


示例15: Clone

		private Block Clone(Block block)
		{
			var paragraph = block as Paragraph;
			if (paragraph != null)
			{
				var newParagraph = new Paragraph();
				if (DependencyPropertyHelper.GetValueSource(paragraph, Paragraph.PaddingProperty).BaseValueSource != BaseValueSource.Default)
					newParagraph.SetValue(Paragraph.PaddingProperty, paragraph.Padding);
				if (DependencyPropertyHelper.GetValueSource(paragraph, Paragraph.MarginProperty).BaseValueSource != BaseValueSource.Default)
					newParagraph.SetValue(Paragraph.MarginProperty, paragraph.Margin);
				if (DependencyPropertyHelper.GetValueSource(paragraph, Paragraph.TextAlignmentProperty).BaseValueSource != BaseValueSource.Default)
					newParagraph.SetValue(Paragraph.TextAlignmentProperty, paragraph.TextAlignment);
				CopyProperties(paragraph, newParagraph);
				foreach (var inline in paragraph.Inlines)
					newParagraph.Inlines.Add(Clone(inline));
				return newParagraph;
			}
			throw new NotSupportedException();
		}
开发者ID:xbadcode,项目名称:Rubezh,代码行数:19,代码来源:TableProvider.cs


示例16: FormatBlock

 public void FormatBlock(FlowDocument doc, Block block, StringBuilder buf, int indent)
 {
     // indent
      buf.Append (' ', indent);
      buf.AppendFormat (
     "{0} {1} to {2}",
     block.GetType ().Name + block.GetHashCode (),
     block.ContentStart.CompareTo (doc.ContentStart),
     block.ContentEnd.CompareTo (doc.ContentStart));
      buf.AppendLine ();
      if (block is Section)
      {
     FormatBlocks (doc, ((Section)block).Blocks, buf, indent + 3);
      }
      else if (block is Paragraph)
      {
     FormatInlines (doc, ((Paragraph)block).Inlines, buf, indent + 3);
      }
 }
开发者ID:jeremyrsellars,项目名称:recipe,代码行数:19,代码来源:ViewRecipe.xaml.cs


示例17: BeginProcessing

      protected override void BeginProcessing()
      {
         _xamlUI = ((PoshConsole.Host.PoshOptions)Host.PrivateData.BaseObject).WpfConsole;
         _xamlUI.Dispatcher.Invoke((Action)(() =>
         {
            _window = _xamlUI.RootWindow;
            Block b = _xamlUI.CurrentBlock;
            while (b.Tag == null && b.PreviousBlock != null)
            {
               b = b.PreviousBlock;
            }
            if (b.Tag is int)
            {
               _id = (int)b.Tag;
               _numbered = b;
            }
         }));

         base.BeginProcessing();
      }
开发者ID:ForNeVeR,项目名称:PoshConsole,代码行数:20,代码来源:GetPoshOutputCommand.cs


示例18: FlowDocument

        /// <summary>
        /// Initialized the new instance of a FlowDocument specifying a Block added
        /// as its first child.
        /// </summary>
        /// <param name="block">
        /// Block added as a first initial child of the FlowDocument.
        /// </param>
        public FlowDocument(Block block)
            : base()
        {
            Initialize(null); // null means to create its own TextContainer

            if (block == null)
            {
                throw new ArgumentNullException("block");
            }

            this.Blocks.Add(block);
        }
开发者ID:nlh774,项目名称:DotNetReferenceSource,代码行数:19,代码来源:FlowDocument.cs


示例19: ReplaceOrAdd

        public void ReplaceOrAdd(Block block, Block replaceThisBlock = null)
        {
            if (block == null)
                return;

            if (replaceThisBlock == null)
            {
                // replace the first block with the same name
                var firstMatchingBlock = Blocks.FirstOrDefault(_b => _b.Name == block.Name);
                if (firstMatchingBlock != null)
                {
                    Blocks.InsertAfter(firstMatchingBlock, block);
                    Blocks.Remove(firstMatchingBlock);
                    return;
                }
            }

            else if (Blocks.Contains(replaceThisBlock))
            {
                Blocks.InsertAfter(replaceThisBlock, block);
                Blocks.Remove(replaceThisBlock);
                return;
            }

            // no replace action is poassible - add as new block
            Blocks.Add(block);
        }
开发者ID:tsbrzesny,项目名称:rma-alzheimer,代码行数:27,代码来源:RichText_Support.cs


示例20: AddBlock

		public void AddBlock(Block block)
		{
			FlushAddedText(true);
			blockCollection.Add(block);
		}
开发者ID:RHE24,项目名称:SharpDevelop,代码行数:5,代码来源:DocumentationUIBuilder.cs



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# Documents.DocumentNode类代码示例发布时间:2022-05-26
下一篇:
C# Documents.Adorner类代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap