Создание экземпляра WPF InlineCollection - PullRequest
2 голосов
/ 04 декабря 2010

Я заполняю класс программно во время выполнения и начал с создания коллекции классов InlineCollection.Однако нельзя создать экземпляр класса InlineCollection.

Мой вопрос заключается в том, как добавить коллекцию inline в Span.Inlines, тип которой InlineCollection, если я не могу создать его экземпляр?

В основном мне нужна коллекция коллекций классов Inline, поэтому я могу случайно установить Span.Inlines на новую коллекцию классов Inline.

Ответы [ 2 ]

3 голосов
/ 11 сентября 2012

да, поскольку вы не можете создать экземпляр класса 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);
2 голосов
/ 04 декабря 2010

Посмотрите здесь: 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...