绑定到WPF中的结构数组

时间:2015-05-11 15:00:11

标签: wpf data-binding

在我的应用程序中,我存储了一系列结构,其中包含我需要向客户支付多少钞票/硬币以及我有多少付款。

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的特定部分(付费/请求的字段,某种索引指示使用哪个条目)

我不确定如何做到这一点。

1 个答案:

答案 0 :(得分:1)

这个答案可以帮助你 - https://stackoverflow.com/a/7714924/3207043

基于此,您需要使用引用数据类型来绑定。