Я пытаюсь получить указатель на элемент в моем DataTemplate в коде. Я создаю серию DataGridTemplateColumns в коде, который я затем назначаю сетке.
Я хочу иметь возможность получить DataTemplate из xaml, найти мой элемент и привязать к этому конкретному элементу.
Вот короткий пример кода, которого я пытаюсь достичь:
<DataTemplate x:Key="dataTemplate">
<Grid TextBlock.Foreground="LightGreen" Background="Yellow">
<TextBlock x:Name="txt" />
</Grid>
</DataTemplate>
DataGridTemplateColumn col = new DataGridTemplateColumn();
col.Header = "Last Name";
Binding b = new Binding("LastName");
DataTemplate dtemplate = (DataTemplate)FindResource("dataTemplate");
TextBlock textBlock = dtemplate.FindName("txt", this);
textBlock.SetBinding(TextBlock.TextProperty, b);
col.CellTemplate = dtemplate;
grid.Columns.Add(col);
Может быть, объяснить это дальше:
Я пытаюсь создать набор DataGridTemplateColumns на лету и применить его к сетке данных. Поскольку я не знаю свойства для привязки, пока источник не будет представлен мне, я не могу создать DataTemplate, который вложен в себя, и эта привязка уже встроена. Например:
<TextBlock Text={Binding=LastName} ... >
Так что я вынужден создать набор DataGridTemplateColumn во время выполнения, найти DataTemplate в моих ресурсах, а затем попытаться привязать этот столбец к свойству (например, LastName) в моем источнике данных.