怎么获得DataGrid模板下的ComboBox的值

小二哥哥有点帅 2014-11-20 04:07:15
我想在后台获得ComboBox里的值,但不知道怎么写。

<sdk:DataGridTemplateColumn Header="控件名称" Width="200">
<sdk:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox Height="25" Width="200" ItemsSource="{Binding Source={StaticResource ctrsName},Path=Options }" SelectedItem="{Binding Selected,Mode=TwoWay}" x:Name="ctrSelected" >
</ComboBox>
</DataTemplate>
</sdk:DataGridTemplateColumn.CellTemplate>
</sdk:DataGridTemplateColumn>
...全文
155 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
灬浪子灬 2014-11-21
  • 打赏
  • 举报
回复
http://blog.csdn.net/rui_china/article/details/10405279 获取父/子控件 如果是为了做全选全不选可以参考这个 http://blog.csdn.net/rui_china/article/details/9919931
Veary 2014-11-21
  • 打赏
  • 举报
回复
引用 楼主 Blue784327282 的回复:
我想在后台获得ComboBox里的值,但不知道怎么写。 <sdk:DataGridTemplateColumn Header="控件名称" Width="200"> <sdk:DataGridTemplateColumn.CellTemplate> <DataTemplate> <ComboBox Height="25" Width="200" ItemsSource="{Binding Source={StaticResource ctrsName},Path=Options }" SelectedItem="{Binding Selected,Mode=TwoWay}" x:Name="ctrSelected" > </ComboBox> </DataTemplate> </sdk:DataGridTemplateColumn.CellTemplate> </sdk:DataGridTemplateColumn>
/// <summary>  
        /// 获得指定元素的所有子元素  
        /// </summary>  
        /// <typeparam name="T"></typeparam>  
        /// <param name="obj"></param>  
        /// <returns></returns>  
        public static List<T> GetChildObjects<T>(DependencyObject obj) where T : FrameworkElement  
        {  
            DependencyObject child = null;  
            List<T> childList = new List<T>();  
  
            for (int i = 0; i <= VisualTreeHelper.GetChildrenCount(obj) - 1; i++)  
            {  
                child = VisualTreeHelper.GetChild(obj, i);  
  
                if (child is T)  
                {  
                    childList.Add((T)child);  
                }  
                childList.AddRange(GetChildObjects<T>(child));  
            }  
            return childList;  
        }  
//别忘记给你ComboBox起个名字(比如A) ComboBox comboBox = null; List<ComboBox> comboboxList = GetChildObjects<ComboBox>(你的DataGrid名字); if(comboboxList!=null) { for(int i = 0;i<comboboxList.Count;i++) { if(comboboxList[i].Name.Equals("A")) { comboBox = comboboxList[i]; } } }
wj_86 2014-11-20
  • 打赏
  • 举报
回复
你不是已经绑定SelectedItem了吗?直接用Selected实体就可以。

8,735

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧