Xamarin表单listView条目字段传输



我正在构建一个需要输入字段的应用程序一个按钮和listView,因此当我在输入字段中键入某些内容并单击按钮时,输入的字段将传递给列表视图。有人有一个我可以依靠的例子吗?

预先感谢

因此,当我在输入字段中键入某些内容并单击按钮时,该字段输入到列表视图中。

首先,您可以参考此官方文档,以创建具有数据绑定的ListView。然后添加按钮和布局输入,最后您可以通过按钮单击事件来处理添加数据。

员工类:

public class Employee{
    public string DisplayName {get; set;}
}

datamodel 类:

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绑定到员工列表,添加ButtonEntry。单击按钮时,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 });
}

相关内容

最新更新