繁体   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