如何以编程方式访问silverlight3 DataGrid单元格值?
我知道我可以使用DataContext访问数据,但我需要访问特定单元格中包含的控件。
如果列模板是这样的:
<data:DataGridTemplateColumn Header="Header text">
<data:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBox TextAlignment="Right" x:Name="myTxt" Text="{Binding Path=Val1, Mode=TwoWay}" TextWrapping="Wrap" Width="50" HorizontalAlignment="Left"/>
</DataTemplate>
</data:DataGridTemplateColumn.CellTemplate>
</data:DataGridTemplateColumn>
如何获得对myTxt控件的引用?
谢谢
答案 0 :(得分:1)
您可以使用它来检查可视化树:
private void GetVisualTreeChildren(DependencyObject element, int depth)
{
string spacer = new string(' ', depth * 2);
System.Diagnostics.Debug.WriteLine(spacer + element.GetType().ToString());
TextBox txt = element as TextBox;
if (txt != null)
{
...
}
int childCount = VisualTreeHelper.GetChildrenCount(element);
for (int i = 0; i < childCount; i++)
{
DependencyObject child = VisualTreeHelper.GetChild(element, i);
GetVisualTreeChildren(child, depth + 1);
}
}
也许你可以根据自己的需要调整它?