本文整理汇总了C#中System.Windows.Documents.Span类的典型用法代码示例。如果您正苦于以下问题:C# Span类的具体用法?C# Span怎么用?C# Span使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
Span类属于System.Windows.Documents命名空间,在下文中一共展示了Span类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: MakeFlowDocument
public static FlowDocument MakeFlowDocument(string eugenstr, System.Windows.Media.Brush specialColor)
{
FlowDocument document = new FlowDocument();
int i = 0;
string[] parts = eugenstr.Split(GREEN_TAG, StringSplitOptions.None);
if (parts.Length > 1)
{
Paragraph paragraph = new Paragraph();
while (i < parts.Length)
{
if (i % 2 == 0)
{
Span normalspan = new Span(new Run(parts[i].Replace("#styleGreen", string.Empty)));
paragraph.Inlines.Add(normalspan);
}
else
{
Span coloredSpan = new Span(new Run(parts[i]));
coloredSpan.Foreground = specialColor;
paragraph.Inlines.Add(coloredSpan);
}
i++;
}
document.Blocks.Add(paragraph);
}
else { Paragraph paragraph = new Paragraph(new Run(eugenstr)); document.Blocks.Add(paragraph); }
return document;
}
示例2: Convert
public object Convert(object[] value, Type targetType, object parameter, CultureInfo cultureInfo)
{
var text = value[0] as string;
var hdata = value[1] as List<int>;
var textBlock = new Span();
if (hdata == null || !hdata.Any())
{
// no highlight data, just return the text
return new Run(text);
}
for (var i = 0; i < text.Length; i++)
{
var ch = text.Substring(i, 1);
// should this character be highlighted?
if (hdata.Contains(i))
{
textBlock.Inlines.Add(new Bold(new Run(ch)));
}
else
{
textBlock.Inlines.Add(new Run(ch));
}
}
return textBlock;
}
示例3: BuildFont
private static Inline BuildFont(ElementToken token, Hint hint)
{
var span = new Span();
string size;
if (token.Attributes.TryGetValue("size", out size))
{
var fc = new FontSizeConverter();
var sz = (double)fc.ConvertFromString(size);
span.FontSize = sz;
}
string face;
if (token.Attributes.TryGetValue("face", out face))
{
span.FontFamily = new FontFamily(face);
}
string color;
if (token.Attributes.TryGetValue("color", out color))
{
var bc = new BrushConverter();
var br = (Brush)bc.ConvertFromString(color);
span.Foreground = br;
}
return span.Fill(token, hint);
}
示例4: GetTextSpan
private static Span GetTextSpan(HelpOmniboxResult helpResult)
{
var span = new Span();
for (int i = 0; i < helpResult.Text.Length; )
{
var start = helpResult.Text.IndexOf('(', i);
if (start == -1)
{
span.Inlines.Add(helpResult.Text.Substring(i));
break;
}
span.Inlines.Add(helpResult.Text.Substring(i, start - i));
start++;
var end = helpResult.Text.IndexOf(')', start);
if (end == -1)
{
span.Inlines.Add(helpResult.Text.Substring(start));
break;
}
span.Inlines.Add(new Bold(new Run(helpResult.Text.Substring(start, end - start ))));
i = end + 1;
}
return span;
}
示例5: AddMsg
public void AddMsg(string message, bool isRecieved)
{
if (currentSize >= logSize)
{
log.Inlines.Remove(log.Inlines.FirstInline); //удалили время
log.Inlines.Remove(log.Inlines.FirstInline); //удалили текст
currentSize--;
}
string time = "[" + System.DateTime.Now.TimeOfDay.ToString(@"hh\:mm\:ss") + "] ";
Span DateSpan = new Span();
DateSpan.Inlines.Add(time);
DateSpan.Foreground = Brushes.DarkGreen;
DateSpan.FontWeight = FontWeights.Bold;
log.Inlines.Add(DateSpan);
Span Msg = new Span();
Msg.Inlines.Add(message);
if (isRecieved)
Msg.Foreground = Brushes.OrangeRed;
else
Msg.Foreground = Brushes.DodgerBlue;
log.Inlines.Add(Msg);
scrollViewer.UpdateLayout();
scrollViewer.ScrollToEnd();
currentSize++;
}
示例6: WarningView
public WarningView()
{
this.InitializeComponent();
// Init
var warningService = Singleton<ServiceController>.Instance.Get<IWarningService>();
var lightGrayBrush = new SolidColorBrush(Colors.DarkGray);
foreach (var warning in warningService.GetWarnings().OrderByDescending(w => w.Issued))
{
var inline = new Span();
inline.Inlines.Add(new Bold(new Run(warning.Title)));
inline.Inlines.Add(new LineBreak());
inline.Inlines.Add(new Run(warning.Message));
inline.Inlines.Add(new LineBreak());
inline.Inlines.Add(new Run(warning.Issued.ToShortDateString()) {Foreground = lightGrayBrush});
if (warning.Read)
{
foreach (var i in inline.Inlines)
{
i.Foreground = lightGrayBrush;
}
}
this.StackPanel.Children.Add(new TextBlock(inline) {Margin = new Thickness(5), LineHeight = 20});
}
warningService.SetAllWarningsRead();
}
示例7: DisplayFormula
public Inline DisplayFormula()
{
string Pi = Char.ToString((char)0x03C0);
Span form = new Span();
form.Inlines.Add(Utilities.Num1(Parm[0], CParm[0])); //Coef
form.Inlines.Add(new Italic(new Run("sin")));
form.Inlines.Add("(2" + Pi + "(");
form.Inlines.Add(Utilities.Num1(Parm[1], CParm[1])); //FreqC
form.Inlines.Add(new Italic(new Run("t")));
if (Parm[5] != 0D)
{
if (Parm[5] < 0D) form.Inlines.Add("(1 - ");
else form.Inlines.Add("(1 + ");
form.Inlines.Add(Utilities.Num1(Math.Abs(Parm[5] / 100D), CParm[5])); //Mod
form.Inlines.Add(new Italic(new Run("sin")));
form.Inlines.Add("(2" + Pi + "(");
form.Inlines.Add(Utilities.Num1(Parm[3], CParm[3])); //FreqM
form.Inlines.Add(new Italic(new Run("t")));
form.Inlines.Add(Utilities.Num0(Parm[4] / 360D, CParm[4])); //PhaseM
form.Inlines.Add(")))");
}
form.Inlines.Add(Utilities.Num0(Parm[2] / 360D, CParm[2])); //PhaseC
form.Inlines.Add("))");
return form;
}
示例8: CreateSubject
private Inline CreateSubject(IMessage message)
{
var subj = message.XmppMessage.Subject;
var span = new Span();
span.Inlines.Add(subj);
return new Italic(new Bold(span));
}
示例9: AppendRange
public static Inline AppendRange(this Inline inline, IEnumerable<Inline> inlines)
{
var span = new Span(inline);
span.Inlines.AddRange(inlines);
return span;
}
示例10: Append
public static Inline Append(this Inline inline, Inline inlineToAdd)
{
var span = new Span(inline);
span.Inlines.Add(inlineToAdd);
return span;
}
示例11: DisplayFormula
public Inline DisplayFormula()
{
Span form = new Span();
form.Inlines.Add(Coef.ToString("G6"));
Span sub = new Span(new Run(Utilities.ConvertFromVType(CCoef)));
sub.Typography.Variants = System.Windows.FontVariants.Subscript;
form.Inlines.Add(sub);
return form;
}
示例12: CreateStatus
private Inline CreateStatus(IMessage message)
{
var from = message.XmppMessage.From;
var name = GetName(from);
var chatstate = message.XmppMessage.Chatstate.ToString();
var span = new Span();
span.Inlines.Add(string.Format("{0} is {1}...", name, chatstate));
return new Italic(span);
}
示例13: PasteContentData
internal static bool PasteContentData(InputBox inputBox, IDataObject iDataObject)
{
TextData data = TryGetText(iDataObject);
if (!data.ContainsData)
{
if (iDataObject.GetDataPresent(DataFormats.Bitmap, true))
{
inputBox.Paste(iDataObject);
return true;
}
return false;
}
inputBox.TempFlowDocument.Blocks.Clear();
TextRange range = null;
if (data.Format == BamaDataFormat)
{
object obj2 = XamlReader.Parse(data.Data);
if (obj2 is Block)
{
inputBox.TempFlowDocument.Blocks.Add(obj2 as Block);
}
else if (obj2 is Inline)
{
Span span = new Span(inputBox.TempFlowDocument.ContentStart, inputBox.TempFlowDocument.ContentEnd)
{
Inlines = { obj2 as Span }
};
}
range = new TextRange(inputBox.TempFlowDocument.ContentStart, inputBox.TempFlowDocument.ContentEnd);
range.ClearAllProperties();
inputBox.Selection.Text = "";
Span newspan = new Span(inputBox.Selection.Start, inputBox.Selection.End);
ReplaceControls.AddBlocksToSpan(inputBox.TempFlowDocument, newspan);
inputBox.CaretPosition = newspan.ElementEnd.GetInsertionPosition(LogicalDirection.Forward);
}
else
{
range = new TextRange(inputBox.TempFlowDocument.ContentStart, inputBox.TempFlowDocument.ContentEnd);
using (MemoryStream stream = new MemoryStream())
{
using (StreamWriter writer = new StreamWriter(stream))
{
writer.Write(data.Data);
writer.Flush();
stream.Position = 0L;
range.Load(stream, data.Format);
}
}
range.ClearAllProperties();
inputBox.Selection.Text = "";
Span span3 = new Span(inputBox.Selection.Start, inputBox.Selection.End);
ReplaceControls.AddBlocksToSpan(inputBox.TempFlowDocument, span3);
inputBox.CaretPosition = span3.ElementEnd.GetInsertionPosition(LogicalDirection.Forward);
}
inputBox.TempFlowDocument.Blocks.Clear();
return true;
}
示例14: AppendText
public void AppendText(Paragraph p, ScrollViewer scroll, ChatMessage message, string servername)
{
var text = string.Format("[{0}] [ {1:yyyy-MM-dd HH:mm:ss} ] {2}\n", servername, message.Date, message.Message);
var color = ServerMonitorModel.GetMessageColor(message);
var brush = new SolidColorBrush(color);
var span = new Span() { Foreground = brush };
span.Inlines.Add(text);
p.Inlines.Add(span);
}
示例15: DateSpan
private Span DateSpan(DateTime date)
{
Span span = new Span();
span.FontStyle = FontStyles.Normal;
span.FontSize = 10;
span.FontWeight = FontWeights.Bold;
span.Foreground = new SolidColorBrush(Color.FromArgb(255, 0, 0, 0));
span.Inlines.Add("[" + date + "] ");
return span;
}