我對MVVM相當陌生,請耐心等待。我具備擁有如此實施的公共屬性視圖模型類:綁定到集合中的單個元素
public List<float> Length
{
get;
set;
}
在我的XAML的看法,我有幾個文本框,每個人在這個長列表綁定到特定的元素:
<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英寸)
我的問題:我需要能夠驗證List中的每個值,因爲它在關聯的TextBox中被更改。對於某些人,我可能需要修改列表中的其他值,具體取決於輸入的值(即更改浮點數在長度[0]將更改長度[4]處的值並更新屏幕)。
有什麼辦法重新工作的財產,以允許索引?或者,我是否需要爲列表中的每個項目創建單獨的屬性(這實際上使列表成爲不必要的)?基本上,因爲我已經有了float的集合,所以我希望能夠編寫MVVM代碼來驗證每個項目被修改時的狀態。
想法? (並且,提前致謝)
據我瞭解,他不能通過項目索引綁定到特定列表項,我錯過了什麼? – sll
這不是我所理解的。顯然,OP要驗證用戶輸入,因此他需要檢測用戶何時更改值 –
是的,看起來我完全誤解了這個問題 – sll