以前我是在winform做的实现了一下效果xml结构为
<?xml version="1.0" encoding="utf-8"?>
<root>
  <Task Nid="1" name="12121" StartDate="2010年10月26日" EndDate="2010年10月28日" stime="1:00" etime="5:00">
    <PalyTime date="2010年10月26日">
      <times time="1:00">模板1</times>
      <times time="2:00">模板1</times>
      <times time="3:00"></times>
      <times time="4:00"></times>
      <times time="5:00">模板2</times>
    </PalyTime>
    <PalyTime date="2010年10月27日">
      <times time="1:00">模板2</times>
      <times time="2:00"></times>
      <times time="3:00">模板2</times>
      <times time="4:00">模板1</times>
      <times time="5:00"></times>
    </PalyTime>
  </Task>
  <Task Nid="2" name="任务一" StartDate="2010年10月26日" EndDate="2010年10月29日" stime="2:00" etime="10:00">
    <PalyTime date="2010年10月26日">
      <times time="2:00" />
      <times time="3:00" />
      <times time="4:00" />
      <times time="5:00" />
      <times time="6:00" />
      <times time="7:00" />
      <times time="8:00" />
      <times time="9:00">模板1</times>
      <times time="10:00" />
    </PalyTime>
    <PalyTime date="2010年10月27日">
      <times time="2:00" />
      <times time="3:00" />
      <times time="4:00" />
      <times time="5:00" />
      <times time="6:00">模板1</times>
      <times time="7:00" />
      <times time="8:00" />
      <times time="9:00" />
      <times time="10:00" />
    </PalyTime>
    <PalyTime date="2010年10月28日">
      <times time="2:00" />
      <times time="3:00" />
      <times time="4:00">模板1</times>
      <times time="5:00" />
      <times time="6:00" />
      <times time="7:00" />
      <times time="8:00" />
      <times time="9:00" />
      <times time="10:00" />
    </PalyTime>
  </Task>
<root>
现在想把项目移植到wpf上。可是研究很了很久都不能用绑定完成以前在winfrom上的datagrid完成的效果
希望懂wpf的兄弟,指点一下

解决方案 »

  1.   

    你所说的模板控件 可以用 UseControl(用来选择图片)来替代;用DataSet 来读取XML 文件。DataGrid 绑定 DataTable..
      

  2.   

    另可参考http://zh-tw.w3support.net/index.php?db=so&id=802322
      

  3.   

    http://stackoverflow.com/questions/4094576/wpf-datagrid-xml-binding-displaying-multiple-items-in-a-cell-using-datatemplate
      

  4.   

    XML的格式很乱,从图示看,列需要根据Task包含的PalyTime节点个数动态生成PalyTime 应该是 PlayTime,估计是你的笔误
    Attribute的命名,要么首字母都大写,要么首字母小写,又有大小又有小写,看着凌乱,
    Element的命名也是同样问题
    你可用XElement解析XML,再做处理(LINQ to XML),由于包含简体中文,
    建议XML头改成,
    <?xml version="1.0" encoding="gb2312"?>
    不然XElement解析会出错具体的代码不想写了.
      

  5.   

    MSDN的示例,你研究研究先本主题包含并说明使用 LINQ to XML 的 WPF 数据绑定示例的 XAML 源文件 L2DBForm.xaml。L2DBForm.xaml 源代码
      

  6.   

    谢谢,是这样,时间这列,是根据palytime的集合中的一组产生的。而其他的列的列头是根据每个palytime的date属性产生的。
    是有笔误。哈哈。我也早发现了。可是懒得改。呵呵。谢谢指出。
    不过我现在是真的不知道如何来帮定了。和以前的winfrom差的太多了。以前都是用代码去硬写出这个样子的
      

  7.   

    我试了下 也没转换上去 明天我去公司看看能不能用 XmlSerializer 转成类然后绑定
      

  8.   

    這個控件是一個很成功的例子,你可以參考一下網站
    my blog
    http://ufo-crackerx.blog.163.com/