2015-05-30 2 views
3

Я пытаюсь связать два <Run> s внутри TextBlock, как показано в фрагменте ниже. Но я получаю XamlParseException.Binding Run внутри Textblock приводит к исключению в WPF

В основном я пытаюсь добиться этого формата:

CodeNum: LongDescription

Если код ниже обречен на провал, что другие варианты у меня есть?

<TextBlock> 
    <Run FontWeight="Bold" Text="{Binding CodeNum}"/> 
    <Run FontWeight="Bold" Text=": "/> 
    <Run Text="{Binding LongDescription}"/> 
</TextBlock> 

ответ

12

Я предполагаю, что либо LongDescription или CodeNumis это свойство только для чтения (не имеет публичного сеттер). Вы должны изменить привязку быть один способ для всех только для чтения свойств, которые вы используете в Run

<Run Text="{Binding LongDescription, Mode=OneWay}"/> 
+0

Я считаю, что, по умолчанию, режим 'Run' элемента связывания только один путь. Поправьте меня если я ошибаюсь. –

+1

Спасибо dkozl, на самом деле изменение режима на 'OneWay' решило проблему. – Vahid

+0

@SriramSakthivel no 'Run' по умолчанию связывает« текст »в обоих направлениях, и это вызовет исключение, если свойство не имеет открытого setter. – dkozl

 Смежные вопросы

  • Нет связанных вопросов^_^