【发布时间】:2011-10-25 17:30:13
【问题描述】:
嗨,我有一个数据包类型的数据包列表的 Observable 集合。每个数据包由 3 个不同的可观察类型数据集合组成。这 3 个不同的 observable 集合是 header 类、frame 类和 tail 类。我正在尝试提取类型数据的值并将它们放在数据网格中的一列下。框架和尾部相同。但是,我如何着手将 observableCollection 的数据绑定在一列下?
namespace macframe
{
public class Packet
{
private ObservableCollection<Packet> items;
private Header header;
private Frame frame;
private Tail tail;
public Packet(Header header, Frame frame, Tail tail)
{
this.header = header;
this.frame = frame;
this.tail = tail;
items = new ObservableCollection<Packet>();
}
}
public class Data
{
private String sDatavalue;
public Data(String datavalue)
{
this.sDatavalue = datavalue;
}
public string datavalue
{
get { return sDatavalue; }
set { sDatavalue = datavalue; }
}
}
public class Header
{
private ObservableCollection<Data> headerItems;
public Header()
{
headerItems = new ObservableCollection<Data>();
}
public ObservableCollection<Data> header
{ get { return headerItems; } }
}
public class Frame
{
private ObservableCollection<Data> frameItems;
public Frame()
{
frameItems = new ObservableCollection<Data>();
}
public ObservableCollection<Data> frame
{ get { return frameItems; } }
}
public class Tail
{
private ObservableCollection<Data> tailItems;
public Tail()
{
tailItems = new ObservableCollection<Data>();
}
public ObservableCollection<Data> tail
{ get { return tailItems; } }
}
}
<Window x:Class="macframe.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<DataGrid Name="dgrid">
</DataGrid>
</Grid>
【问题讨论】:
-
能贴出Packet类的代码吗?
-
代码已更新。我想知道数据网格是否能够在不检查数据类型的情况下显示我的标题、框架或尾部类的内容?
-
能否也显示 DataGrid 的 XAML?
-
我还没有添加 dgrid.DataContext 语句,因为我不确定如何呈现我上面的问题
-
这里要明确一点 -
Header、Frame和Tail都是包含ObservableCollection<Data>的类?它们是否包含其他内容?您是否希望在数据网格中有一个用于Header的列,一个用于Frame和一个用于Tail的列?对吗?