我对WPF比较陌生,我尝试在ListView
中显示一些数据。
我有一个Model类Order
,我只想在ListView
上显示。但我想展示一些其他计算的信息(例如订单中Positions
的数量)。
如何使用OrderViewModel
({1}}的{{1}}来使用Order
(ViewModel)而非DataTemplate
(模型)类?
如果您需要更多信息,请告诉我。
提前谢谢!
订购类
这是我的订单类。它包含一些信息,但不包含我想在ListView上显示的所有信息。
ListView
订购ViewModel
这个类是我要在ListView上显示的ViewModel。
public class Order
{
private int number;
private ObservableCollection<Position> positions;
/// <summary>
/// Default Constructor
/// </summary>
public Order()
{
this.positions = new ObservableCollection<Position>();
}
/// <summary>
/// Order Number
/// </summary>
public int Number
{
get { return number; }
set { number = value; }
}
/// <summary>
/// Positions inside the order.
/// </summary>
public ObservableCollection<Position> Positions
{
get { return positions; }
set { positions = value; }
}
}
ListView的XAML
public class OrderViewModel : ViewModelBase
{
readonly private Order order;
#region Constructor
public OrderViewModel(Order order)
{
this.order = order;
}
#endregion Constructor
#region Order Properties
public string Number
{
get { return order.Number.ToString(); }
}
public ObservableCollection<Position> Positions
{
get
{
return order.Positions;
}
}
#endregion Order Properties
#region Presentation Properties
public int AmountOfPositions // Calculated value should be shown on the ListView.
{
get { return order.Positions.Count; }
}
#endregion Presentation Properties
}
答案 0 :(得分:-1)