我目前正在開發一個 xamarin 專案,并且我使用的是 mvvm 格式。
UI 中有一個按鈕,每當按下按鈕時都會繪制一個新的文本框。
在單個文本框的情況下,在 xaml 中,您可以在 {binding text} 方法中將值傳遞給 viewmodel.cs,但我想知道是否有一種方法可以將多個文本框傳遞給 viewmodel 的一個陣列。
uj5u.com熱心網友回復:
在您的代碼中,從類似這樣的 ViewModel 系結串列視圖。
public class ViewModel
{
private List<string> _TextBoxValues = new List<string>();
public List<string> TextBoxValues
{
get
{
return _TextBoxValues;
}
set
{
_TextBoxValues = value;
RaisePropertyChanged("TextBoxValues");
}
}
}
在標記 XAML 中,使用 TwoWay Binding 系結一個串列視圖
<ListView x:Name="EmployeeView"
ItemsSource="{Binding TextBoxValues}">
<ListView.ItemTemplate>
<DataTemplate>
<Entry Text={Binding} BindingMode="TwoWay"/>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
當你點擊按鈕時,呼叫 ViewModel 中的一個函式:
public void IncrementTextBoxes()
{
TextBoxValues.Add("");
}
這將自動增加文本框計數,同時保留值。
享受!。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/442266.html
