2010-02-12 69 views
2

我有一个WPF ListView与几个列绑定到自定义集合。问题是,如何添加另一个计算的列,而不是绑定的。具体地讲,这是我,这显示细腻:如何将计算列添加到数据绑定列表视图?

  <ListView Name="ui_rptTransactions"> 
       <ListView.View> 
        <GridView> 
         <GridViewColumn Header="Date" 
             DisplayMemberBinding="{Binding Path=Date}" /> 
         <GridViewColumn Header="Category" 
             DisplayMemberBinding="{Binding Path=Category.Name}" /> 
         <GridViewColumn Header="Amount" 
             DisplayMemberBinding="{Binding Path=Amount}" /> 
        </GridView> 
       </ListView.View> 
      </ListView> 

在下一栏,我想有一个“平衡”,这是作为“最后的人工确认平衡”减“的总和计算所有先前交易金额“。第一部分可以通过:theBank.LastActualBalance.Amount公共属性获得。 (以上ListView控件绑定到theBank.Transactions,一个ObservableCollection。

...但我有点坚持至于如何做到这一点。任何想法?在此先

THX!

回答

2

您最后一列可以像其他列一样绑定,您只需在后面的代码中进行计算。

我会将最后一列“余额”绑定到由CollectionChanged计算出来的依赖项事务的事件。这种方式每当一个事务发生时就会触发一个事件来重新计算你的依赖关系余额

oCollection.CollectionChanged += new System.Collections.Specialized.NotifyCollectionChangedEventHandler(oCollection_CollectionChanged); 

private void oCollection_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e) 
{ 
    CalculatedBalance(); 
} 
+0

Thx。我只是有点失望,没有更简单的方法,grrr。 – MrGreggles 2010-02-16 16:53:43

相关问题