如何从Xamarin形式视图添加和检索列表?

问题描述 投票:0回答:1

我使用.NET 2.0的标准作出Xamarin应用程式Android我有相当大的对象来处理。我想要在那里它们被添加到列表,然后用户可以从他们选择的话,我检索选定对象,然后打开一个更详细的视图他们一些看法。

什么方法是最好的呢?到目前为止,我有他们提供了在字符串拼接在一起几个属性列表视图,然后我分裂所选择的字符串,并搜索匹配的对象,但是这似乎真的容易断裂,因为我不知道该对象将具有什么样的价值,直到运行。

我想将它们添加到网格,因为这似乎是最好的,以明智的自定义布局,是有可能将这些值添加到网格和附加TapGestureRecognizer到该行,并以某种方式存储和接收行的选择的对象?

c# object xamarin xamarin.forms
1个回答
0
投票

如果你使用的ICommand你可以简单地实现TapGestureRecognizer。首先建立在这样的XAML文件在GridView:

<Grid>
  <Grid.ColumnDefinitions>
      <ColumnDefinition Width="*"/>
      <ColumnDefinition Width="*"/>
  </Grid.ColumnDefinitions>
  <Label Text = "{Binding @something}" GridRow = 0 GridColumn = 0/>
  <Grid.GestureRecognizers>
      <TapGestureRecognizer Command="{Binding TapCommand}"/>
  </Grid.GestureRecognizers>
</Grid>

之后,在C#代码中设置这样的结合:

var tapGestureRecognizer = new TapGestureRecognizer();
tapGestureRecognizer.SetBinding (TapGestureRecognizer.CommandProperty, "TapCommand");
grid.GestureRecognizers.Add(tapGestureRecognizer);

那么你应该执行下面的命令:

public class TapViewModel : INotifyPropertyChanged
{
  ICommand tapCommand;

  public TapViewModel () 
  {
    tapCommand = new Command (OnTapped);
  }

  public ICommand TapCommand 
  {
    get { return tapCommand; }
  }

  void OnTapped (object s)
  {
    //DO whatever you want
  }

}

© www.soinside.com 2019 - 2024. All rights reserved.