创建实例WPF InlineCollection

时间:2010-12-04 10:59:15

标签: .net wpf collections html

我在运行时以编程方式填充类,并通过构建InlineCollection类的集合开始。但是,无法实例化InlineCollection类。

我的问题是,如果我不能创建它的实例,如何向Span.Inlines添加一个内联集合,其类型为InlineCollection?

基本上我需要一个Inline类集合的集合,所以我可以将Span.Inlines设置为一个新的Inline类集合。

2 个答案:

答案 0 :(得分:3)

是的,因为你无法实例化InlineCollection类,但你可以做的是使用例如List<Inline>并填充它。

以后很容易将它们应用到例如TextBlock

// create some inlines
List<Inline> inlines = new List<Inline>();
inlines.Add(new Run() { Text = "text" });
Span span = new Span();
span.Inlines.AddSafe(new Run() { Text = "text inside span" });
inlines.Add(span);

// now apply to a TextBlock
TextBlock tb = new TextBlock() { TextWrapping = TextWrapping.Wrap };
tb.Inlines.Clear();
foreach (Inline i in inlines)
    tb.Inlines.Add(i);

答案 1 :(得分:2)

看看这里:http://msdn.microsoft.com/en-us/magazine/cc163371.aspx

看起来你想要做的是:

span.Inlines.Add(new Run("Some normal text"));
var b = new Bold();
b.Inlines.Add(new Run(" Some bold text"));
span.Inlines.Add(b);