【问题标题】:Custom WPF datagrid header and xml binding自定义 WPF 数据网格标题和 xml 绑定
【发布时间】:2014-03-20 07:55:37
【问题描述】:

我一直试图弄清楚如何重新创建这个“复杂”的数据网格标题,绑定到一个 XML 文件。我还没有找到任何关于如何解决这个问题的例子。

这是一个示例 XML 数据文件(可以有更多的“传感器”和更多的“措施”):

<?xml version="1.0" encoding="utf-8" ?>
<ShipData>
  <Draught>
    <Measures>
      <Mdata>M1</Mdata>
      <Mdata>M2</Mdata>
    </Measures>
    <Sensor Name="Sensor1">
      <Measurement>
        <Bis>45</Bis>
        <Man>43</Man>
      </Measurement>
      <Measurement>
        <Bis>44</Bis>
        <Man>46</Man>
      </Measurement>
    </Sensor>
    <Sensor Name="Sensor2">
      <Measurement>
        <Bis>45</Bis>
        <Man>43</Man>
      </Measurement>
      <Measurement>
        <Bis>43</Bis>
        <Man>45</Man>
      </Measurement>
    </Sensor>
  </Draught>
</ShipData>

这就是我的数据网格样式:

由于数据会发生变化(更多传感器和更多测量),我将在加载数据网格后编写一些代码。

编辑: 所以我想做的事情是:

  1. 创建标题(由两行组成,上面一行跨越两列)

    (已解决) >> 由于标题不能真正跨越多个列,因此最好的方法是创建一个网格,就在 Datagrid 的上方,具有相等的possible solution

    你可以玩:

    <DataGrid.Columns>
      <DataGridTemplateColumn>
        <DataGridTemplateColumn.HeaderTemplate>                                    
          <DataTemplate> ...
    

    ...但它变得丑陋...至少在这里。我不认为 HeaderTemplate 用于我想做的事情。

  2. 将xml数据绑定到网格

    仍在弄清楚(以及如何将数据更改保存回文件)

最好通过后面的代码

【问题讨论】:

  • 你检查this线程了吗?
  • 这里的实际问题是什么?有什么想法吗?
  • @aevitas 如何对标头进行编码并将数据放入网格中
  • @AccessDenied 我不认为该线程对我有帮助,我已经看到了

标签: c# wpf data-binding datagrid wpfdatagrid


【解决方案1】:

我解决了关于“超级”标题的问题(例如见上文):

由于您不能真正跨越标题的多列,最好的方法是创建一个网格,就在 Datagrid 的上方,列大小相等(或超级标题的组合大小)

我仍在为 xmlprovider 和 xpath 背后的代码苦苦挣扎(但我会提出一个新问题,以免进一步污染这个问题)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-11
    • 2010-12-12
    • 2011-07-11
    • 1970-01-01
    • 2013-08-11
    • 1970-01-01
    • 2011-01-12
    相关资源
    最近更新 更多