【问题标题】:Saving an Entry in listview to a class after pressing save按保存后将列表视图中的条目保存到类
【发布时间】:2021-10-27 13:13:56
【问题描述】:

如您所知,如果 Listview Items 填充了 MVVM,则无法在代码中调用它们。所以我的列表视图中有一个标签,其中填充了 MVVM,在它前面会有一些 Enterys。条目完成后,我可以立即将它们保存在一个类中,但我希望在用户按下保存按钮时保存它。

当按钮被点击时,我无法在后面的代码中使用名称来调用我的条目。谁能给我任何建议。

<ListView ItemsSource="{Binding JJ}">
                <ListView.ItemTemplate>
                    <DataTemplate>
                        <Grid>
                             <Label Grid.Row="0" Grid.Column="0" x:Name="name" Text="{Binding name}"/>
                             <Entry x:Name="entry1" Grid.Row="0" Grid.ColumnSpan="1"/>
                             <Entry x:Name="entry2" Grid.Row="0" Grid.ColumnSpan="2"/>
                        </Grid>
             
                    </DataTemplate>
                </ListView.ItemTemplate>
            </ListView>
            
            <Button Text="save" Clicked="Button_Clicked"/>
    

【问题讨论】:

  • 使用数据绑定将您的条目绑定到模型。当用户点击保存时,保存模型中存储的数据。

标签: xamarin.forms data-binding


【解决方案1】:

你使用数据绑定

为您的数据创建一个模型类

public class MyData
{
    public string Name { get; set; }
    public string Value1 { get; set; }
    public string Value2 { get; set; }
}

然后在你的页面中

List<MyData> data = new List<MyData>();
data.Add(new MyData { Name = "One" });
data.Add(new MyData { Name = "Two" });
data.Add(new MyData { Name = "Three" });

MyListView.ItemsSource = data;

然后在您的 XAML 中绑定您的条目

<Label Grid.Row="0" Grid.Column="0" Text="{Binding Name}"/>
<Entry Grid.Row="0" Grid.ColumnSpan="1" Text="{Binding Value1}" />
<Entry Grid.Row="0" Grid.ColumnSpan="2" Text="{Binding Value2}" />

最后,在您的保存方法中,您可以访问绑定的属性

foreach (var item in data)
{
   // use item.Value1, item.Value2
}

【讨论】:

  • 很多@Jason。一旦我克服了这个 Covid,我会尝试你的代码。
  • 嗨。杰森。正如我所说,我将我的列表视图绑定到另一个页面。我怎样才能将我的条目绑定到后面的代码? @杰森
  • 我不能把所有这些都放在一个模型中。有没有办法在列表视图中使用 2 模型或也使用页面后面的代码
  • 我必须在 Entry 中使用事件处理程序才能到达后面的代码,但输入文本已更改且文本完成将保存垃圾文本....
  • 我不知道你在说什么。您指的是本文未包含的代码。
猜你喜欢
  • 2011-07-23
  • 1970-01-01
  • 2012-03-05
  • 1970-01-01
  • 1970-01-01
  • 2013-07-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多