[英]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.