xamarin.forms - Xamarin 表单 ListView 条目字段传输
问题描述
我正在构建一个需要 Entry 字段、Button 和 ListView 的应用程序,因此当我在 entry 字段中键入内容并单击按钮时,输入的字段将传递到 List View。有人有我可以依赖的例子吗?
提前致谢
解决方案
因此,当我在输入字段中输入内容并单击按钮时,输入的字段将传递到列表视图。
首先,你可以参考这个官方文档创建一个ListView,并绑定数据。然后在布局中添加Button和Entry,最后你可以通过按钮点击事件来处理添加数据。
员工等级:
public class Employee{
public string DisplayName {get; set;}
}
数据模型类:
public class DataModel
{
public ObservableCollection<Employee> employees = new ObservableCollection<Employee>();
public DataModel()
{
employees.Add(new Employee { DisplayName = "Rob Finnerty" });
employees.Add(new Employee { DisplayName = "Bill Wrestler" });
employees.Add(new Employee { DisplayName = "Dr. Geri-Beth Hooper" });
employees.Add(new Employee { DisplayName = "Dr. Keith Joyce-Purdy" });
employees.Add(new Employee { DisplayName = "Sheri Spruce" });
employees.Add(new Employee { DisplayName = "Burt Indybrick" });
}
}
以下代码片段演示了ListView
绑定到员工列表、添加Button
和Entry
。单击按钮时,来自的文本Entry
将添加到ListView
:
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:App1"
x:Class="App1.MainPage">
<StackLayout BackgroundColor="Gray">
<!-- Place new controls here -->
<Entry x:Name="EntryText" Placeholder="input"/>
<Button Text="click me"
HorizontalOptions="Center"
VerticalOptions="Center"
Clicked="OnButtonClicked"/>
<ListView x:Name="EmployeeView">
<ListView.ItemTemplate>
<DataTemplate>
<TextCell Text="{Binding DisplayName}" />
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</StackLayout>
</ContentPage>
最后ContentPage
会处理点击事件:
DataModel dataModel;
public MainPage()
{
InitializeComponent();
dataModel = new DataModel();
EmployeeView.ItemsSource = dataModel.employees;
}
void OnButtonClicked(object sender, EventArgs args)
{
Console.WriteLine("click me");
dataModel.employees.Add(new Employee { DisplayName = EntryText.Text });
}
推荐阅读
- javascript - 无论payload在哪里注入,我不应该遵循基于OWASP DOM的XSS建议吗?
- mqtt - 如何解决与实时对象的 mqtt.fx 代理连接问题
- reactjs - Redux 和反应。不改变内容
- c++ - 通过 C++ API 实现 LLVM IR OOP 继承
- angularjs - 从模态Angularjs绑定
- angular - Ionic/Angular2 - 在 Page.ts 和 Provider.ts 之间插入一个“中介”
- sql - SQL Server根据匹配不同行的两列创建序列
- java - 在应用程序外部调用 java 函数
- apache-spark - 在单个表达式中激发多个计数不同
- npm - 复制“npm pack”并允许流式传输到标准输出