以某种方式将计算值绑定到数据网格

时间:2010-10-16 15:59:03

标签: c# wpf

我有一个数据集,我从wpf工具包绑定到datagrid(强制使用.net 3.5).. 我对WPF和C#的新手一无所知,并没有绑定我的对象的集合,这将有很大帮助,并将解决我的问题!

所以这个细胞是那样的

 <my:DataGridTemplateColumn.CellTemplate>
   <DataTemplate>
        <TextBlock Text="{Binding Length}" />
   </DataTemplate>
 </my:DataGridTemplateColumn.CellTemplate>

我想做点什么

     <my:DataGridTemplateColumn.CellTemplate>
       <DataTemplate>
            <TextBlock Text="{Binding Length}" />
 <TextBlock Text="{Binding ????????}" />
       </DataTemplate>
     </my:DataGridTemplateColumn.CellTemplate>

哪里?????我想绑定一个值,该值取决于数据集中的2个值和大约1000个不在数据集中的值... 如果我可以绑定到一个方法并提供这些2作为参数。

我能想到的唯一解决方案是在数据集中添加3个额外的列。然后迭代每一行并使用计算出的值设置新的collumn单元格。

1 个答案:

答案 0 :(得分:0)

  

为什么不将代码调整为   正如你所说,绑定到一个集合   这将解决它

忘了我的最后一句话。

仅为该特定单元格创建新集合。类似的东西:

public Observablecollection<int> foo = new ObservableCollection<int>()


private void Calculation(int[] X, int[] Y)
{
    foo.Clear();
    int i;
    for(int index = 0; index < X.Length; index++)
    {
        //Calculation Like
        i = X[index] + y[index];
        foo.Add(i);
    }
}

每次X和Y中的值发生变化时,您都可以添加一个调用计算的事件处理程序。 最后将foo绑定到单元格