2010-02-12 75 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

相關問題