我有一个 WPF 应用程序,我正在使用 MVVM 设计方法。
我有一个 ObservableObject ,它包含下面的类 Transaction 的列表;
public Transaction
{
public string Ammount;
public string Direction;
}
我的 ViewModel 中的 ObservableObject 如下
public ObservableCollection<Transactions> ListOfUserTransactions
{
get { return _localTransactionData; }
set
{
_localTransactionData = value;
RaisePropertyChanged("ListOfUserTransactions");
}
}
我的观点以这种方式绑定;
<DataGrid ItemsSource="{Binding ListOfUserTransactions}" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="Ammount" Binding="{Binding Path=Ammount}" Foreground="Black" IsReadOnly="True" />
<DataGridTextColumn Header="Direction" Binding="{Binding Path=Direction}" Foreground="Black" IsReadOnly="True" />
</DataGrid.Columns>
</DataGrid>
这确实起作用,因为产生的行数等于我的预期,但所有行都是空的,我认为这是我绑定 DataGridTextColumn 的方式,但我不确定如何做到这一点,希望有足够的细节上面的问题。
编辑
下面是如何创建交易列表
ObservableCollection<Transaction> _localTransactionData = new ObservableCollection<Transaction>();
public TransactionsViewModel(User passedThroughUser)
{
_user = passedThroughUser;
_listOfTransactions = _user.Transactions;
foreach (var item in _listOfTransactions)
{
LocalTransactionsList tran = new LocalTransactionsList();
tran.Ammount = item.Ammount.ToString(); ;
tran.Direction = item.Direction;
_localTransactionData.Add(tran);
}
}