Я использую ListView, и в каждой ячейке у меня есть метка и запись справа. Когда я нажимаю на поле ввода, клавиатура будет отображаться, но если я нажму на строку, не нажимая на поле ввода, клавиатура не будет. Как я могу заставить запись сфокусироваться при выборе ее строки?Xamarin Forms Listview set focus to entry в выбранной строке
<?xml version="1.0" encoding="UTF-8"?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
\t xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
\t x:Class="Sample7.StartPage">
\t <ContentPage.ToolbarItems>
\t \t <ToolbarItem Text="Scanner" Icon="camera.png">
\t \t </ToolbarItem>
\t \t <ToolbarItem Text="Notes" Icon="notes.png" >
\t \t </ToolbarItem>
\t </ContentPage.ToolbarItems>
\t <ScrollView>
\t \t <StackLayout Padding="20,20,20,0">
\t \t \t \t <Picker Title="Location" HorizontalOptions="FillAndExpand" Items="NuseedDataManager.getWarehouses()"/>
\t \t \t \t <StackLayout Orientation="Horizontal" Padding="0,20,0,20">
\t \t \t \t \t <Label Text="Show All" HorizontalOptions="FillAndExpand" />
\t \t \t \t \t <Switch IsToggled="true" HeightRequest="50" WidthRequest="250"/>
\t \t \t \t </StackLayout>
\t \t \t \t <ListView x:Name="SkuListView" RowHeight="60">
\t \t \t \t \t <ListView.ItemTemplate>
\t \t \t \t \t \t <DataTemplate>
\t \t \t \t \t \t \t <ViewCell>
\t \t \t \t \t \t \t \t <StackLayout Orientation="Horizontal" BackgroundColor="{Binding BackgroundColor}">
\t \t \t \t \t \t \t \t \t <Label Text="TITLE\nawesome1awesome1awesome1awesome1awesome1awesome1awesome1awesome1awesome1awesome1awesome1awesome1" HorizontalOptions="FillAndExpand" FontSize="12"/>
\t \t \t \t \t \t \t \t \t <Entry Text="{Binding CountText}" WidthRequest="70" Keyboard="Numeric" IsFocused="{Binding IsEntryFocused}" />
\t \t \t \t \t \t \t \t </StackLayout>
\t \t \t \t \t \t \t </ViewCell>
\t \t \t \t \t \t </DataTemplate>
\t \t \t \t \t </ListView.ItemTemplate>
\t \t \t \t </ListView>
\t \t \t \t <StackLayout Padding="0,20,0,20">
\t \t \t \t \t <Button Text="Verify" />
\t \t \t \t </StackLayout>
\t \t </StackLayout>
\t </ScrollView>
</ContentPage>
namespace Sample7
{
\t public partial class StartPage : ContentPage
\t {
\t \t ObservableCollection<Cell> skus ;
\t \t public StartPage()
\t \t {
\t \t \t InitializeComponent();
\t \t \t skus = new ObservableCollection<Cell>();
\t \t \t for (int i = 0; i < 30; i++) {
\t \t \t \t if (i < 10) {
\t \t \t \t \t skus.Add(new Cell(){
\t \t \t \t \t \t BackgroundColor = Color.Aqua,
\t \t \t \t \t \t CountText = "1"
\t \t \t \t \t });
\t \t \t \t } else {
\t \t \t \t \t skus.Add (new Cell() {
\t \t \t \t \t \t BackgroundColor = Color.Red,
\t \t \t \t \t \t CountText = "1"
\t \t \t \t \t });
\t \t \t \t }
\t \t \t }
\t \t \t SkuListView.ItemsSource = skus;
\t \t \t SkuListView.HeightRequest = SkuListView.RowHeight* skus.Count()+40;
\t \t \t SkuListView.ItemSelected += (sender, e) => {
\t \t \t \t Cell c = (Cell)e.SelectedItem;
\t \t \t \t c.IsEntryFocused = true;
\t \t \t \t c.BackgroundColor = Color.Olive;
\t \t \t \t c.CountText = "45";
\t \t \t };
\t \t }
\t }
}
где? как? Можете привести пример, пожалуйста. –
В вашем методе ItemSelected. – Jason