Estoy usando un BindableLayout y dentro de eso, estoy mostrando una lista de elementos

<StackLayout
   BindableLayout.ItemsSource="{Binding AccountsList}" Spacing="0">
      <BindableLayout.ItemTemplate>
           <DataTemplate>
               <Frame
                  Margin="0,5,0,10"
                  Padding="10">
                  <Label Text="testinnnng"/>
                  <Entry Text="{Binding UserText}"/>//this entry is not allowing the user to click on the UI since it is inside the list item
               </Frame>
          </DataTemplate>
   </BindableLayout.ItemTemplate>
</StackLayout>

Aquí cada cuadro es un elemento de la lista. El problema está dentro del elemento de la lista. Tengo un cuadro de entrada. Pero no puedo editar el texto. Probé todas las soluciones posibles dadas en Google, pero aún así, la entrada no es editable. Solicito que alguien me ayude con este tema en los formularios xamarin.

Gracias

-1
user1448108 22 feb. 2021 a las 20:33

1 respuesta

La mejor respuesta

Como dijo Jason, el xaml no es válido. Primero coloque el diseño de pila dentro del marco.

Xaml:

<StackLayout BindableLayout.ItemsSource="{Binding AccountsList}" Spacing="0">
        <BindableLayout.ItemTemplate>
            <DataTemplate>
                <Frame Margin="0,5,0,10" Padding="10">
                    <StackLayout>
                        <Label Text="testinnnng" />
                        <Entry Text="{Binding UserText}" />
                    </StackLayout>
                </Frame>
            </DataTemplate>
        </BindableLayout.ItemTemplate>
    </StackLayout>

Código detrás:

public partial class Page2 : ContentPage
{
    public ObservableCollection<Info> AccountsList { get; set; }
    public Page2()
    {
        InitializeComponent();
        AccountsList = new ObservableCollection<Info>()
        {
            new Info(){ UserText="A"},
            new Info(){ UserText="B"},
            new Info(){ UserText="C"},
            new Info(){ UserText="D"},

        };

        this.BindingContext = this;
    }
}
public class Info
{
    public string UserText { get; set; }
}

La entrada podría editarse ahora.

enter image description here

1
Wendy Zang - MSFT 23 feb. 2021 a las 06:06