В моей DataGrid каждая строка содержит RichTextBox.
РЕДАКТИРОВАТЬ : Вот как RTB размещается в DataGrid
<DataGrid>
<DataGrid.Columns>
<DataGridTemplateColumn x:Name="columnText" x:Uid="columnText"
Header="Text"
Width="*"
IsReadOnly="True"
SortMemberPath="Text"
CellTemplate="{StaticResource mainFormGridCell_columnText}"/>
</DataGrid.Columns>
</DataGrid>
DataTemplate определен в ResourceDictionary и выглядит примерно так:
<DataTemplate x:Key="mainFormGridCell_columnText">
<RichTextBox x:Name="rtbDiff" x:Uid="rtbDiff"/>
</DataTemplate>
Что мне нужно сделать во время выполнения, это заполнить поле richtext для SelectedItem FlowDocument. Теперь я использую методы расширения, описанные здесь , чтобы найти ячейку, содержащую этот элемент управления. С этим я делаю следующее:
DataGridCell cell = this.dgTexts.GetCell( this.dgFreetexts.GetSelectedRow(), 0 );
object ob = cell.Template.FindName( "rtbDiff", cell );
Независимо от того, как, я никогда не найду ребенка с таким именем - FindName всегда возвращает NULL.
У кого-нибудь есть идеи, как я могу улучшить свой поиск для RichTextBox?
Заранее спасибо!