2013-06-18 3 views
2

Будем говорить, что у меня есть пустой TextBlock:Чтение C# TextBlock Text Property разлит, используя Внутристрочные

textblock1.Text = ""; 

Тогда я только положить содержание встраивает в него с этими двумя утверждениями:

textblock1.Inlines.Add(new Run() { Text = "A. ", Foreground = Brushes.Red }); 
textblock1.Inlines.Add(new Run() { Text = responses.Current.Value, Foreground = Brushes.Black}); 

Удивительная что я могу правильно визуализировать содержимое в моем окне, однако свойство Text в Textblock остается пустым! Это вызывает проблему, потому что мне нужно передать значение этого текстового блока в другой текстовый блок.

Другое, что я действительно не могу понять, так это то, что когда я вызываю свою функцию во второй раз, свойство textblock1.Text обновляется правильно! Он обновляется должным образом для каждого звонка, но первым! Я потратил часы на msdn, но я действительно смущен. Более того, я могу прочитать это на веб-сайте:

Свойство Text возвращает значение (прилагаемый текст всех элементов Run в InlineCollection). Однако возвращаемое значение не включает форматирование, которое было применено к элементам Run.

Я очень тщательно проверил свой код и отладил его, чтобы узнать, есть ли другое место, где я манипулирую этим свойством, но я его не нашел. Если у кого есть какие-либо идеи, мне эта вещь становится бессмысленным ...

+0

Когда и как в вашем коде вы используете значение свойства Text? Является ли это обязательным или прямым доступом к собственности? –

+0

Спасибо за ваш ответ! Я также использую это позже в своем коде, чтобы добавить значение Textblock1 в другой текстовый блок textBlock2.Inlines.Add (новый Run() {Text = TextBlock11.Text + "", FontSize = 25, Foreground = couleurSerie}) ; И все! Я делаю это по прямому доступу в моем коде за – reddy

+1

Выполняете ли вы это в конструкторе конструктора View? если это переместить его в Событие Loaded в Окне, и оно должно быть прекрасным даже в первый раз. – Viv

ответ

1

Просто остановиться на мой комментарий, чтобы дать какой-то смысл,

От MSDN Docs

грузу предполагает, что логическое дерево, элемент содержится в полном объеме

, который помогает нам, так как привязка здесь имеет ссылку на другой элемент TextBlock. Привязки также зависят от DataContext и нескольких других факторов относительно конкретных Binding, но в целом они оцениваются после нагрузки пользовательского интерфейса по уважительной причине.

Следовательно, установка Text источника TextBlock после того, как пользовательский интерфейс загружает результаты во все действующие, так как Binding в данный момент активны.