c# - 如何动态添加选择器

标签 c# xamarin xamarin.forms picker

我的屏幕上有一个按钮,当我按下该按钮时,我希望选择器显示一个项目列表,当选择一个项目时,按钮的文本应更改为该按钮,并且选择器应消失。

这是我的代码:

Picker picker = new Picker
    {
        Title = "What's in the slot?",
        VerticalOptions = LayoutOptions.CenterAndExpand
        //HorizontalOptions = LayoutOptions.Center 

    };

按下按钮时调用的函数:

private void Displaypickerview(int row, int column)
    {
        if (status == "filling board")
        {
            foreach (string text in pickerText)
            {
                picker.Items.Add(text);
            }
            foreach (string ore in oreLevels)
            {
                picker.Items.Add(ore);
            }


            picker.SelectedIndexChanged += (sender, args) =>
            {
                if (picker.SelectedIndex == -1)
                {

                }
                else
                {
                    //change value of cell and button
                    Picker picker = (Picker)sender;
                    int index = picker.SelectedIndex;

                    if (index < pickerText.Length)
                    {
                        board[row, column].Text = pickerText[index - 1];
                    }
                    else {
                        board[row, column].Text = oreLevels[index - 1 - pickerText.Length];
                    }
                }
            };
        }
        else if (status == "choosing item")
        {

        }

    }

但我不知道应该如何在屏幕上渲染选择器 View 并随后将其删除。

更新:

下图中完成按钮的事件处理程序是什么。

Picker

最佳答案

您可以将选择器添加到您正在使用的 Grid 或任何 Panel 中,方法是将其添加到 Children 集合中:

Grid.SetRow(picker, 0); //first row
Grid.SetColumn(picker, 0); //first column
grid.Children.Add(picker);

同样,您可以通过从 Children 集合中删除它来删除它:

grid.Children.Remove(picker);

关于c# - 如何动态添加选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42191307/

相关文章:

c# - C#从HTML页面源码获取最大图片

c# - 如何突出显示 C# 中的特定单词?

android - 使用 Mifare Ultralight C 卡在 Android 上收发失败

c# - 在 Xamarin Forms visual studio 中向布局添加渐变背景

c# - Xamarin 表格操作相机给出空异常

xamarin.forms - 如何在xamarin iOS项目 Storyboard文件中将LaunchScreen图像宽度约束设置为superview?

c# - 使用 Xamarin.Forms 显示来自 URL 的图像

c# - 如何获取网页上的字数?

C# 创建管理员快捷方式

android - 使用 ObtainStyledAttributes 的 monodroid/xamarin 自定义属性为空