DataGrid和ItemsControl实现父与子之间1:N的列表
来源:互联网 发布:ubuntu 被删除文件 编辑:程序博客网 时间:2024/04/29 05:04
页面
xmlns:sdk="http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk"
<ScrollViewer VerticalScrollBarVisibility="Auto">
<sdk:DataGrid Name="LayoutRoot" AutoGenerateColumns="False" IsReadOnly="True" >
<sdk:DataGrid.Columns>
<sdk:DataGridTextColumn Width="40" Header="日期" Binding="{Binding row}" />
<sdk:DataGridTemplateColumn Width="60" Header="名称">
<sdk:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<StackPanel Height="86">
<ItemsControl ItemsSource="{Binding Path=sons}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<TextBlock Margin="6" Text="{Binding Path=title}"></TextBlock>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</StackPanel>
</DataTemplate>
</sdk:DataGridTemplateColumn.CellTemplate>
</sdk:DataGridTemplateColumn>
<sdk:DataGridTemplateColumn Width="120" Header="行号">
<sdk:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<StackPanel Height="86">
<ItemsControl ItemsSource="{Binding Path=sons}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<TextBox Margin="4" Height="20" Text="{Binding Path=rowIndex, Mode=TwoWay}"></TextBox>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</StackPanel>
</DataTemplate>
</sdk:DataGridTemplateColumn.CellTemplate>
</sdk:DataGridTemplateColumn>
</sdk:DataGrid.Columns>
</sdk:DataGrid>
<!--<ItemsControl x:Name="LayoutRoot">
<ItemsControl.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" Margin="10">
<StackPanel>
<TextBlock Text="{Binding Path=row}" Width="100" ></TextBlock>
</StackPanel>
<ItemsControl ItemsSource="{Binding Path=sons}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBox Text="{Binding Path=title}" Width="200"></TextBox>
<TextBox Text="{Binding Path=rowIndex}" Width="200"></TextBox>
</StackPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</StackPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>-->
</ScrollViewer>
后台代码
void Loaded(object sender, RoutedEventArgs e)
{
var data = new List<rowParent>();
for (var i = 0; i < 31; i++)
{
var p = new rowParent();
p.row = i;
p.sons = new List<rowSon>();
data.Add(p);
for (var j = 0; j < 3; j++)
{
var s = new rowSon();
s.rowIndex = i * 3 + j;
s.title = "aaa";
p.sons.Add(s);
}
}
LayoutRoot.ItemsSource = data;
}
public class rowParent
{
public int row { get; set; }
public List<rowSon> sons { get; set; }
}
public class rowSon
{
public string title { get; set; }
public int rowIndex { get; set; }
}
- DataGrid和ItemsControl实现父与子之间1:N的列表
- 求连续子数组的最大和O(n)解法之思路与Java实现
- java实现列表、集合与数组之间转化的方法
- 主线程和子线程之间的交互的实现
- Silverlight ItemsControl 实现webform中类似于repeater和DataList功能
- MFC中实现父对话框与子对话框之间的参数传递,实例可测
- WPF(ContentControl和ItemsControl)
- DataTable,dataview和 datagrid之间的区别
- 1—n之间所有数的平方和与立方和
- 关于iframe连接跳转及父与子,子与子之间的调用问题
- “父窗口”与“弹出子窗口”之间的刷新和传值
- ACM-给定一个整数n,请求出0与n之间的所有偶数的和
- 利用ligerUI实现类似数据列表过滤展示,类似JQuery datatable和某些框架的dataGrid
- ItemsControl 的来龙去脉
- ItemsControl 的使用,经典
- DataGrid中的父表和子表
- 也谈两个数n(n的值为1与9之间)之间相隔n个数的趣味题
- python实现找到给定列表中满足给定和的所有子列表,元素可重复使用
- 兔子生兔子问题
- Cocoa 通过网络获取xml文件并解析
- Comparable 与 Comparator
- CentOS下的C连接Mysql数据库
- Linux(fedora 10)Hello World模块
- DataGrid和ItemsControl实现父与子之间1:N的列表
- 我在北京工作这几年 – 一个软件工程师的反省
- C# 最小化窗口到任务栏
- 分解质因数
- FilenameFilter的用法
- DIV+CSS解决IE6,IE7,IE8,FF兼容问题
- 一个实例明白AutoResetEvent和 ManulResetEvent的用法
- 设计模式:抽象工厂模式
- 杂谈:新浪微博客户端的不足