none
通过DataGridCell怎么知道DataGrid RRS feed

  • 问题

  • 通过一个控件的parent得到一个DataGridCell,现在是怎么通过DataGridCell得到DataGrid呢?


    2010,用心去过!
    2010年2月23日 3:15

答案

  • 你好,
        
           可以通过VisualTreeHelper向上搜索visual tree,获得DataGrid对象。 
        
           类似这样的方法:
        
             public UIElement VisualTreeHelperExtend<T>(UIElement  ui) {
                UIElement i = VisualTreeHelper.GetParent(ui) as UIElement;
                if (!i.GetType().Equals(typeof(T)))
                {
                    return VisualTreeHelperExtend<T>(i);
                }        
                return i;          
            }

            private void TextBox_Loaded(object sender, RoutedEventArgs e)
            {
                TextBox tb = sender as TextBox;
                var i = VisualTreeHelperExtend<DataForm>(tb);
            }
         
        这里Texbox是我在DataForm中的一个Field,在它Load的时候我让它调用方法从visual tree找dataform.
         

    2010年2月24日 4:34