0

プログラムでsilverlight3DataGridセル値にアクセスする方法は?

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コントロールへの参照を取得するにはどうすればよいですか?

ありがとうございました

4

1 に答える 1

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

多分あなたはそれをあなたが必要とするものに適応させることができますか?

于 2010-01-28T16:48:29.920 に答える