簡體   English   中英

Xamarin 表單中播放器的動態添加條目

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM