gpt4 book ai didi

wpf - 绑定(bind)到集合中的单个元素

转载 作者:行者123 更新时间:2023-12-04 12:47:49 25 4
gpt4 key购买 nike

我是 MVVM 的新手,所以请耐心等待。我有一个 View 模型类,它具有这样实现的公共(public)属性:

public List<float> Length
{
get;
set;
}

在我的 View XAML 中,我有几个文本框,每个文本框都绑定(bind)到此长度列表中的特定元素:

  <TextBox Text="{Binding Length[0], Converter=DimensionConverter}" />
<TextBox Text="{Binding Length[2], Converter=DimensionConverter}" />
<TextBox Text="{Binding Length[4], Converter=DimensionConverter}" />

DimensionConverter 是一个 IValueConverter 派生类,它将值格式化为尺寸(即 480.0 英寸在屏幕上的文本框中变为 40'0"),然后再次返回(即采用 35'0"的字符串并产生 420.0源英寸)

我的问题:我需要能够验证列表中的每个值,因为它在关联的文本框中发生更改。对于某些人,我可能需要根据输入的值修改列表中的其他值(即更改 Length[0] 处的 float 将更改 Length[4] 处的值并更新屏幕)。

是否有任何方法可以重新处理该属性以允许使用索引器?或者,我是否需要为列表中的每个项目创建单独的属性(这确实使列表变得不必要)?本质上,因为我已经有了 float 集合,所以我希望能够编写 MVVM 代码来验证每个项目的修改。

想法? (并且,提前致谢)

最佳答案

您可以使用 ObservableCollection<float>而不是 List<float> ,并处理 CollectionChanged事件以检测用户何时更改值。

关于wpf - 绑定(bind)到集合中的单个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8438367/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com