在我的应用程序中,我存储了一系列结构,其中包含我需要向客户支付多少钞票/硬币以及我有多少付款。
public struct MoneyType
{ //contains more, but left out for readability
public int Requested { get; set; } // How many are requested for a payment
public int Paid { get; set; } //bills paid to the customer
}
我创建了一个数组,我可以通过以下方式访问viewmodel:
MoneyType[] money; //correctly initialised in the constructor
public MoneyType[] GetMoney()
{
return money;
}
在viewmodel本身中,我以这种方式访问它们:
public MoneyType[] MoneyTypes //Denominations
{
get
{
return _dataService.GetMoney();
}
}
最后,在我的XAML中,我将这些视为:
<cbtn:BillCounter x:Name="euro200" Value = "{Binding MoneyTypes[2].Paid, Mode=TwoWay }" />
[2]用于表示我想使用哪种类型的钞票/硬币。
我想以两种方式完成这项工作,以便我的自定义控件可以更新支付的硬币/账单金额。我需要为我的MoneyTypes属性设置一个setter。
我不确定这样做的正确方法。我有一种感觉,不知何故,我不应该从我的viewmodel / model传递整个数组,而是我的一个MoneyTypes的特定部分(付费/请求的字段,某种索引指示使用哪个条目)
我不确定如何做到这一点。