WPF DataGrid 模版嵌套DataGrid问题

PangXiangShan 2012-12-03 03:59:39
DataGrid 模版列嵌套一个DataGrid 怎么获得模版里的 DataGrid 对象
还有就是应该在那个事件里写
我在模版里嵌套的DataGrid里面也添加了模版列 怎么获得模版列里面的控件对象
...全文
418 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
在路上20130607 2012-12-04
  • 打赏
  • 举报
回复
我没遇上过 要这么处理的问题 感觉像是在做交叉报表 如果你刚接触 我建议你找公司的人 讨论下这个功能 是不是有其他的实现方案
PangXiangShan 2012-12-04
  • 打赏
  • 举报
回复
引用 13 楼 luoSaiMingJavaAndC 的回复:
引用 12 楼 PangXiangShan 的回复:我研究一下 主要刚开始学WPF 谢谢啊 客气 客气 互相学习
还有别办法吗? 有的话 也讲一下呗
在路上20130607 2012-12-04
  • 打赏
  • 举报
回复
引用 12 楼 PangXiangShan 的回复:
我研究一下 主要刚开始学WPF 谢谢啊
客气 客气 互相学习
PangXiangShan 2012-12-04
  • 打赏
  • 举报
回复
我研究一下 主要刚开始学WPF 谢谢啊
在路上20130607 2012-12-04
  • 打赏
  • 举报
回复
这些操作 可以通过控制数据源 来实现 直接获取控件的操作 感觉不合适
在路上20130607 2012-12-04
  • 打赏
  • 举报
回复
下面是我的测试 c#

public class Stu : INotifyPropertyChanged
    {
        private string _name;
        public string Name {
            get { return _name; }
            set { _name = value;
            OnPropertyChanged("Name");
            }
        }

        public event PropertyChangedEventHandler PropertyChanged;
        public void OnPropertyChanged(string info)
        {
            if (PropertyChanged != null)
            {
                PropertyChanged(this, new PropertyChangedEventArgs(info));
            }
        }

        private List<Stu> _ename;
        public List<Stu> EListName
        {
            get { return _ename; }
            set {
                _ename = value;
                OnPropertyChanged("EListName");
            }
        }

    }
xaml

    <sdk:DataGrid x:Name="dg" HorizontalAlignment="Left" Height="164" Margin="68,56,0,0"
            CellEditEnding="dg_CellEditEnding_1"    AutoGenerateColumns="False"      VerticalAlignment="Top" Width="187">
            <sdk:DataGrid.Columns>
                <sdk:DataGridTemplateColumn  Header="woca"   >
                    <sdk:DataGridTemplateColumn.CellTemplate>
                        <DataTemplate>
                            <sdk:DataGrid x:Name="cellData" ItemsSource="{Binding EListName}">
                                <sdk:DataGrid.Columns>
                                    <sdk:DataGridTemplateColumn>
                                        <sdk:DataGridTemplateColumn.CellTemplate>
                                            <DataTemplate>
                                                <TextBlock Text="{Binding Name}"></TextBlock>
                                            </DataTemplate>
                                        </sdk:DataGridTemplateColumn.CellTemplate>
                                    </sdk:DataGridTemplateColumn>
                                </sdk:DataGrid.Columns>
                            </sdk:DataGrid>
                            <!--<TextBlock Text="{Binding Name, Mode=TwoWay}"> </TextBlock>-->
                        </DataTemplate>
                    </sdk:DataGridTemplateColumn.CellTemplate>
                    <sdk:DataGridTemplateColumn.CellEditingTemplate>
                        <DataTemplate>
                            <TextBox Text="{Binding Name, Mode=TwoWay}"></TextBox>
                        </DataTemplate>
                    </sdk:DataGridTemplateColumn.CellEditingTemplate>
                </sdk:DataGridTemplateColumn>
            </sdk:DataGrid.Columns>
            
        </sdk:DataGrid>
PangXiangShan 2012-12-04
  • 打赏
  • 举报
回复
是的 主要是里面嵌套的DataGrid要通过外层DataGrid的ID去查询 来显示
PangXiangShan 2012-12-04
  • 打赏
  • 举报
回复
这种嵌套 怎么获得模版里的对象
在路上20130607 2012-12-04
  • 打赏
  • 举报
回复
给我的感觉 你想用 外层的datagrid 做布局 而不是简单的数据呈现
在路上20130607 2012-12-04
  • 打赏
  • 举报
回复
spy 对查看视图树 很有帮助
PangXiangShan 2012-12-04
  • 打赏
  • 举报
回复
我模版里棉嵌套了一个DataGrid 我要给DataGrid的绑定数据源 怎么在后台获取这个对象
在路上20130607 2012-12-04
  • 打赏
  • 举报
回复
你想访问哪个? 里面的控件 不少属性都可以 通过binding 来操作

 <sdk:DataGrid x:Name="dg" HorizontalAlignment="Left" Height="164" Margin="68,56,0,0"
            CellEditEnding="dg_CellEditEnding_1"    AutoGenerateColumns="False"      VerticalAlignment="Top" Width="187">
            <sdk:DataGrid.Columns>
                <sdk:DataGridTemplateColumn  Header="woca"   >
                    <sdk:DataGridTemplateColumn.CellTemplate>
                        <DataTemplate>
                            <!--<sdk:DataGrid x:Name="cellData">
                            </sdk:DataGrid>-->
                            <TextBlock Text="{Binding Name, Mode=TwoWay}"> </TextBlock>
                        </DataTemplate>
                    </sdk:DataGridTemplateColumn.CellTemplate>
                    <sdk:DataGridTemplateColumn.CellEditingTemplate>
                        <DataTemplate>
                            <TextBox Text="{Binding Name, Mode=TwoWay}"></TextBox>
                        </DataTemplate>
                    </sdk:DataGridTemplateColumn.CellEditingTemplate>
                </sdk:DataGridTemplateColumn>
            </sdk:DataGrid.Columns>
            
        </sdk:DataGrid>
PangXiangShan 2012-12-04
  • 打赏
  • 举报
回复
不行啊,试过了 有时候获得不到对象
  • 打赏
  • 举报
回复
给每个对象的Name确定一个名字,就可以访问了
pxsshitou 2012-12-03
  • 打赏
  • 举报
回复
继续 希望高手能解答啊

8,731

社区成员

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

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