Вместо пробела Entry / Xamarin.Forms Android Emulator

В моем проекте с Xamarin.Forms (V2.5) есть особый случай.

Я получил вложенную сетку с кнопкой и двумя записями (также вложенными в рамку). Кнопка привязана к моей виртуальной машине и устанавливает видимость этих записей (если true, скрыть одну и - поверх конвертера - всплыть другую). Текстовые свойства записей привязаны к общедоступному строковому свойству в моей виртуальной машине в режиме =twoway.

Если я коснусь этого "переключателя" (кнопки), в UWP все работает нормально.

Но на Android-эмуляторе записи только белые и без каких-либо функций. Пожалуйста, посмотрите на эти скриншоты: Скриншот 1 Скриншот 2, чтобы увидеть разницу.

Я не могу объяснить себе это поведение. Конвертер делает свою работу и переводит значение в виртуальную машину.

А вот код XAML для вложенной сетки:

<Grid x:Name="InnerGridSparrateSwitch" Grid.Row="3" Grid.Column="1" IsVisible="{Binding IsFH}"
                      HorizontalOptions="Fill">
                    <Grid.RowDefinitions>
                        <RowDefinition Height="1*"/>
                    </Grid.RowDefinitions>
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="1*"/>
                        <ColumnDefinition Width="1.5*"/>
                    </Grid.ColumnDefinitions>

                    <Button Text="{Binding Spareingabe}" Style="{StaticResource OnPlatformButton}"
                        Command="{Binding SwitchSpareingabe}"
                        Grid.Row="0" Grid.Column="0"
                        FontAttributes="Bold"
                        BackgroundColor="{DynamicResource AccentColor}"/>
                    <Frame Style="{StaticResource RunderRahmen}"
                           Grid.Row="0" Grid.Column="1">
                        <Entry x:Name="Eingabe_FHRate"
                               IsVisible="{Binding EingabeSparRate}"
                               Style="{StaticResource Eingabefeld_small}"
                               Text="{Binding SparrateView, Mode=TwoWay}"

                               IsEnabled="{Binding AutoCalcActive, Converter={StaticResource IsBusyConverter}}"/>
                    </Frame>
                    <Frame Style="{StaticResource RunderRahmen}"
                           Grid.Row="0" Grid.Column="1">
                        <Entry x:Name="Eingabe_SparProzent"

                           IsVisible="{Binding EingabeSparRate, Converter={StaticResource IsBusyConverter}}"
                           Style="{StaticResource Eingabefeld_small}"
                           Text="{Binding TilgungssatzView, Mode=TwoWay}"/>
                    </Frame>

                </Grid>
                <!--#endregion-->
                <!--#region Switch Tilgungsrate/Promille/€-->
                <Grid x:Name="InnerGridTilgungsrateSwitch" Grid.Row="4" Grid.Column="1" IsVisible="{Binding IsFH}"
                      HorizontalOptions="Fill">
                    <Grid.RowDefinitions>
                        <RowDefinition Height="1*"/>
                    </Grid.RowDefinitions>
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="1*"/>
                        <ColumnDefinition Width="1.5*"/>
                    </Grid.ColumnDefinitions>

                    <Button Text="{Binding TBEingabe}" Style="{StaticResource OnPlatformButton}"
                        Command="{Binding SwitchTBEingabe}"
                        Grid.Row="0" Grid.Column="0"
                        FontAttributes="Bold"
                        BackgroundColor="{DynamicResource AccentColor}"/>
                    <Frame Style="{StaticResource RunderRahmen}"
                           Grid.Row="0" Grid.Column="1">
                        <Entry x:Name="Eingabe_TBRate"
                               IsVisible="{Binding EingabeTilgungsRate}"
                               Style="{StaticResource Eingabefeld_small}"
                               Text="{Binding TBView, Mode=TwoWay}"
                               Placeholder="Tilgungsrate"
                               IsEnabled="{Binding AutoCalcActive, Converter={StaticResource IsBusyConverter}}"/>
                    </Frame>
                    <Frame Style="{StaticResource RunderRahmen}"
                           Grid.Row="0" Grid.Column="1">
                        <Entry x:Name="Eingabe_TBPromille"

                           IsVisible="{Binding EingabeTilgungsRate, Converter={StaticResource IsBusyConverter}}"
                           Style="{StaticResource Eingabefeld_small}"
                           Text="{Binding TBSatzView}"/>
                    </Frame>

                </Grid>

Большое спасибо!

1 ответ

Наконец то понял! Я поместил Свойство IsVisible в РЕБЕНКА (Вход) вместо этого в РОДИТЕЛЯ (Кадр). Поскольку я установил свойство "padding" моего стиля рамки OnPlatform ("RunderRahmen") в 0, я не смог увидеть никаких проблем (белая рамка без записи на Android) на UWP.

НЕПРАВИЛЬНО

<Frame Style="{StaticResource RunderRahmen}"
                       Grid.Row="0" Grid.Column="1">
                    <Entry x:Name="Eingabe_SparProzent"

                       IsVisible="{Binding EingabeSparRate, Converter={StaticResource IsBusyConverter}}"
                       Style="{StaticResource Eingabefeld_small}"
                       Text="{Binding TilgungssatzView, Mode=TwoWay}"/>
                </Frame>

ПРАВО

<Frame Style="{StaticResource RunderRahmen}"
                           Grid.Row="0" Grid.Column="1"
IsVisible="{Binding EingabeSparRate, Converter={StaticResource IsBusyConverter}}">
                        <Entry x:Name="Eingabe_SparProzent"


                           Style="{StaticResource Eingabefeld_small}"
                           Text="{Binding TilgungssatzView, Mode=TwoWay}"/>
                    </Frame>
Другие вопросы по тегам