Отображение модального окна в Xamarin

Я новичок в Xamarin. Я создаю простое приложение, с помощью Xamarin. У меня есть вид таблицы в моем макете. Каждая строка представления таблицы отображает модальное окно. Например, первая строка используется для получения полного имени пользователя. Я хочу отобразить модальное окно, показанное (справа) на данном рисунке. Question

Я создал макет для того же, что и ниже

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#ffffff"
    android:minWidth="25px"
    android:minHeight="25px">
    <EditText
        android:inputType="textPersonName"
        android:layout_width="200dp"
        android:layout_height="55px"
        android:id="@+id/txtFirstName"
        android:ellipsize="none"
        android:gravity="fill_horizontal"
        android:hint="First Name"
        android:height="55dp"
        android:layout_marginTop="100dp"
        android:layout_gravity="center_horizontal"
        android:textColor="#000000" />
    <EditText
        android:inputType="textPersonName"
        android:layout_width="200dp"
        android:layout_height="55px"
        android:id="@+id/txtLastName"
        android:ellipsize="none"
        android:gravity="fill_horizontal"
        android:hint="Last Name"
        android:height="55dp"
        android:layout_marginTop="25dp"
        android:layout_gravity="center_horizontal"
        android:textColor="#000000" />
    <RelativeLayout
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="#ffffff"
        android:minWidth="25px"
        android:minHeight="25px"
        android:layout_marginTop="25dp">
        <Button
            android:text="Save"
            android:layout_width="100dp"
            android:layout_height="55px"
            android:id="@+id/btnSave"
            android:gravity="center"
            android:layout_gravity="center_horizontal"
            android:layout_marginTop="0dp"
            android:textColor="#000"
            android:layout_marginLeft="165dp" />
    </RelativeLayout>
</LinearLayout>

и мой код для отображения всплывающего окна

tblrName.Click += delegate
{
    //Want to display the modal window here.
};

Я попытался установить макет используя setContentView() но он открывает новое окно, в то время как я хочу отобразить модальное окно на том же экране.

кто-нибудь может помочь мне достичь этого?

1 ответов


использовать AlertDialog.

в событии click попробуйте следующее:

var alert = new AlertDialog.Builder(this);
alert.SetView(LayoutInflater.Inflate(Resource.Layout.Modal, null));
alert.Create().Show();

получить значения из AlertDialog, вы можете сохранить ссылку на EditText в диалоговом окне. А затем, в вашем сохранить нажмите кнопку событие, просто позвоните EditText.Text чтобы получить значение.