2017-01-26 2 views
0

Вот мой xaml. InputTransparent установлен в true, но Entry все еще захватывает вход.Xamarin Forms InputTransparent не работает на Android

<Grid> 
    <DatePicker 
     Date="{Binding FundraiserEndDate}" /> 
    <Entry 
      Text="{Binding FundraiserEndDateText}" 
      TextColor="Gray" 
      FontSize="13" 
      HorizontalTextAlignment="Center" 
      InputTransparent="True" /> 
</Grid> 
+0

Так что, когда вы касаетесь 'запись ',' Grid' не получает событие касания и вызывает назначенные 'TapGestureRecognizer', которые вы определили? – SushiHangover

+0

Когда я касаюсь Entry, он становится сфокусированным вместо того, чтобы передавать событие через DatePicker, поскольку он работает на iOS –

+0

Это похоже на ошибку, но не уверен, почему в этом случае вы хотите это сделать, сборщик дат уже использует запись для переднего конца. – jgoldberger

ответ

2

Найдено несколько сообщений об ошибках по этому поводу, и, кажется, более универсальным, чем просто с въездом и DatePicker в сетке.

См:

https://bugzilla.xamarin.com/show_bug.cgi?id=50992
https://bugzilla.xamarin.com/show_bug.cgi?id=50362

Я добавил информацию от этого вопроса к сообщениям, чтобы сообщить им, что кажется более универсальным, чем только для конкретных сценариев, отмеченных в приведенных выше сообщений об ошибках.

0

Я была такой же Prob (InputTransparent не работает проблема все еще актуальна)

Я хотел вводимого пользователя избежать в пользовательском гидратированных объекте формы без необходимости обрабатывать инвалид входы рендеринга (пример переключателя отключено, которое является серым, даже если toogled).

Для этого я просто использовал сетку как пример с stackLayout поверх него так что пользователь не может взаимодействовать со всеми моей формы (ввод, переключатели и так):

grid.Children.Add(form.MainLayout); 
//Trick to avoid user inputs 
grid.Children.Add(new StackLayout { BackgroundColor = Color.Transparent, VerticalOptions = LayoutOptions.FillAndExpand, HorizontalOptions = LayoutOptions.FillAndExpand }); 
scrollView.Content = grid; 
Content = scrollView;