Найти текстовое поле в сетке данных - PullRequest
3 голосов
/ 01 ноября 2011

У меня есть сетка данных, которая содержит четыре столбца.

Итак, из этой сетки данных на стороне C # я хочу найти конкретное текстовое поле с именем = "headBox"

Как мне поступитьделая это?мой xaml для столбца идет, как показано ниже.Этот раздел находится внутри Datagrid.Columns, который находится внутри тега datagrid с именем = dgrid

<DataGridTemplateColumn Header="Header">
        <DataGridTemplateColumn.CellTemplate>
            <DataTemplate>
                  <TextBox Name="HeadBox"/>
        </DataTemplate>
            </DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>

Ответы [ 2 ]

3 голосов
/ 01 ноября 2011

Я думаю, вы можете использовать

DataGridRow row = myDataGrid.ItemContainerGenerator.ContainerFromIndex
(myDataGrid.SelectedIndex) as DataGridRow;

var i = 0; /// Specify your column index here.

EDIT

TextBox ele = ((ContentPresenter)(myDataGrid.Columns[i].GetCellContent(row))).Content as TextBox;
0 голосов
/ 28 января 2015
<DataGridTemplateColumn  Header="ClientDomain"   Width="130" >    
<DataGridTemplateColumn.CellTemplate>    
<DataTemplate>    
<TextBox x:Name="directionColumnTextBlock"  Text="{Binding Path=ClientDomain,Mode=TwoWay}"/>    
<DataTemplate.Triggers>    
<DataTrigger Binding="{Binding IssReadOnly}" Value="true">    
<Setter TargetName="directionColumnTextBlock"  Property="IsReadOnly" Value="true"  />    
</DataTrigger>    
</DataTemplate.Triggers>    
</DataTemplate>    
</DataGridTemplateColumn.CellTemplate>    
</DataGridTemplateColumn >     


DataGridRow row = dataGrid.ItemContainerGenerator.ContainerFromIndex
(dataGrid.SelectedIndex) as DataGridRow;    

TextBox clientDomain= ((ContentPresenter)(dataGrid.Columns[2].GetCellContent(row))).Content as TextBox    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...