Inheritance: System.Windows.Controls.Panel
コード例 #1
0
        private static Inline BuildParam(ElementToken token, Hint hint)
        {
            var pp = new ParamPanel();

            foreach (ParseToken pt in token.Tokens)
            {
                var et = pt as ElementToken;
                if (et != null)
                {
                    var tb = new TextBlock().Fill(et, hint);
                    pp.Children.Add(tb);
                    if (et.Name == "pname")
                    {
                        ParamPanel.SetNameColumn(tb, true);
                    }

                    continue;
                }

                var tt = pt as TextToken;
                if (tt != null && pp.Children.Count > 0)
                {
                    var elem = pp.Children[pp.Children.Count - 1] as TextBlock;
                    if (elem != null)
                    {
                        elem.Inlines.Add(GetInline(tt, hint));
                    }

                    continue;
                }
            }

            var span = new Span();

            span.Inlines.Add(new SoftBreak());
            span.Inlines.Add(new InlineUIContainer
            {
                Child             = pp,
                BaselineAlignment = BaselineAlignment.Bottom
            });
            span.Inlines.Add(new SoftBreak());
            return(span);
        }
コード例 #2
0
ファイル: HintBuilder.cs プロジェクト: JetBrains/Nitra
        private static Inline BuildParam(ElementToken token, Hint hint)
        {
            var pp = new ParamPanel();
              foreach (ParseToken pt in token.Tokens)
              {
            var et = pt as ElementToken;
            if (et != null)
            {
              var tb = new TextBlock().Fill(et, hint);
              pp.Children.Add(tb);
              if (et.Name == "pname")
            ParamPanel.SetNameColumn(tb, true);

              continue;
            }

            var tt = pt as TextToken;
            if (tt != null && pp.Children.Count > 0)
            {
              var elem = pp.Children[pp.Children.Count - 1] as TextBlock;
              if (elem != null)
            elem.Inlines.Add(GetInline(tt, hint));

              continue;
            }
              }

              var span = new Span();
              span.Inlines.Add(new SoftBreak());
              span.Inlines.Add(new InlineUIContainer
                       {
                         Child = pp,
                         BaselineAlignment = BaselineAlignment.Bottom
                       });
              span.Inlines.Add(new SoftBreak());
              return span;
        }