如何在 mvvm 类型 xamarin 中以数组格式绑定?
How to bind in array format in mvvm type xamarin?
我目前正在做一个 xamarin 项目,我使用的是 mvvm 格式。
UI 中只有一个按钮,只要按下按钮就会绘制一个新的文本框。
如果是单个文本框,在xaml中,可以在{binding text}方法中将值传给viewmodel.cs,但我想知道有没有办法传多个文本框到一个视图模型数组。
在您的代码中,像这样从 ViewModel 绑定列表视图。
public class ViewModel
{
private List<string> _TextBoxValues = new List<string>();
public List<string> TextBoxValues
{
get
{
return _TextBoxValues;
}
set
{
_TextBoxValues = value;
RaisePropertyChanged("TextBoxValues");
}
}
}
在标记 XAML 中,使用双向绑定绑定列表视图
<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("");
}
这将自动增加文本框计数,同时保留值。
尽情享受吧!
我目前正在做一个 xamarin 项目,我使用的是 mvvm 格式。
UI 中只有一个按钮,只要按下按钮就会绘制一个新的文本框。
如果是单个文本框,在xaml中,可以在{binding text}方法中将值传给viewmodel.cs,但我想知道有没有办法传多个文本框到一个视图模型数组。
在您的代码中,像这样从 ViewModel 绑定列表视图。
public class ViewModel
{
private List<string> _TextBoxValues = new List<string>();
public List<string> TextBoxValues
{
get
{
return _TextBoxValues;
}
set
{
_TextBoxValues = value;
RaisePropertyChanged("TextBoxValues");
}
}
}
在标记 XAML 中,使用双向绑定绑定列表视图
<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("");
}
这将自动增加文本框计数,同时保留值。
尽情享受吧!