Как получить доступ к элементу управления dataGrid silverlight3 - PullRequest
0 голосов
/ 19 января 2010

как программно получить доступ к значению ячейки DataGrid silverlight3?

Я знаю, что могу использовать 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?

Спасибо

1 Ответ

1 голос
/ 28 января 2010

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

    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);
        }
    }

Может быть, вы можете адаптировать его к тому, что вам нужно?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...