[英]Dynamic Add Entry of Player in Xamarin Forms
我有一个玩家人数的整数,这个数字我需要为玩家的名字生成条目的数量。 我创建了 24 个条目并使它们可见和不可见,但我认为这不是“聪明”。
我测试了一下:
var layout = new Stacklayout();
var playerentry = new Entry {Text = "Test"};
layout.children.Add(playerentry);
将此与 for 循环与 i = 玩家数量相结合,它不起作用。
也许有人可以帮助解决这个简单的问题。 更新:
这是完整的代码:
使用 ListView 或 BindableLayouts,其中项目或视图的数量或未知。
文件:
<ListView x:Name="playerList">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<StackLayout Orientation="Horizontal">
<Label Text="Enter player name"/>
<Entry Text="{Binding Name}"/>
</StackLayout>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
背后的代码
var playerCollection = new ObservableCollection<Player>();
for(int i=0;i<8;i++)
{
playerCollection.Add(new Player());
}
playerList.ItemsSource=playerCollection;
播放器类
public class Player : INotifyPropertyChanged
{
private string name = "Unknown";
public string Name
{
get
{
return name;
}
set
{
name = value;
OnPropertyChanged();
}
}
protected void OnPropertyChanged([CallerMemberName] string propertyName = null)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
public event PropertyChangedEventHandler PropertyChanged;
}
希望这可以帮助!! 评论任何查询。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.