Как создать динамическую группу радиокнопок в формах Xamarin? - PullRequest
0 голосов
/ 10 сентября 2018

Как я могу создать пользовательский интерфейс согласно динамическим вопросам? В настоящее время у меня есть жестко закодированные Вопросы и варианты. Но теперь требуется отображать динамические вопросы. Опции будут такими же, как от 1 до 5 переключателей. Но согласно списку элементов управления Xamarin Forms не существует элемента управления, подобного группе переключателей. Так как же мне этого добиться?

В настоящее время мой единственный вопрос добавлен как:

<StackLayout Margin="0,15">
                                        <Grid>
                                            <Grid.ColumnDefinitions>
                                                <ColumnDefinition Width="20*"/>
                                                <ColumnDefinition Width="12*"/>
                                                <ColumnDefinition Width="12*"/>
                                                <ColumnDefinition Width="12*"/>
                                                <ColumnDefinition Width="12*"/>
                                                <ColumnDefinition Width="12*"/>
                                                <ColumnDefinition Width="20*"/>
                                            </Grid.ColumnDefinitions>
                                            <Grid.RowDefinitions>
                                                <RowDefinition Height="30*"/>
                                                <RowDefinition Height="25"/>
                                                <RowDefinition Height="20"/>
                                            </Grid.RowDefinitions>

                                            <Label Grid.ColumnSpan="7" Grid.Column="0" Grid.Row="0" Text="How do you rate the quality of food on offer?" VerticalTextAlignment="Center" FontFamily="SF-UI-Text-Regular" FontSize="24"/>
                                            <Label Grid.Column="0" Grid.Row="2" Text="Bad" VerticalTextAlignment="Center" HorizontalTextAlignment="End" FontFamily="SF-UI-Text-Regular" FontSize="15"/>
                                            <Label Grid.Column="1" Grid.Row="1" Text="1" VerticalTextAlignment="Center" HorizontalTextAlignment="Center" FontFamily="SF-UI-Text-Regular" FontSize="15"/>
                                            <Label Grid.Column="2" Grid.Row="1" Text="2" VerticalTextAlignment="Center" HorizontalTextAlignment="Center" FontFamily="SF-UI-Text-Regular" FontSize="15"/>
                                            <Label Grid.Column="3" Grid.Row="1" Text="3" VerticalTextAlignment="Center" HorizontalTextAlignment="Center" FontFamily="SF-UI-Text-Regular" FontSize="15"/>
                                            <Label Grid.Column="4" Grid.Row="1" Text="4" VerticalTextAlignment="Center" HorizontalTextAlignment="Center" FontFamily="SF-UI-Text-Regular" FontSize="15"/>
                                            <Label Grid.Column="5" Grid.Row="1" Text="5" VerticalTextAlignment="Center" HorizontalTextAlignment="Center" FontFamily="SF-UI-Text-Regular" FontSize="15"/>
                                            <BoxView BackgroundColor="#FAFAFA" Grid.ColumnSpan="5" Grid.Column="1" Grid.Row="2"/>
                                            <Image Grid.Column="1" Grid.Row="2" x:Name="RbtnFoodQuality1" Source="radio_button.png" HeightRequest="10" WidthRequest="10">
                                                <Image.GestureRecognizers>
                                                    <TapGestureRecognizer Tapped="RbtnFoodQuality1Tapped" NumberOfTapsRequired="1"/>
                                                </Image.GestureRecognizers>
                                            </Image>
                                            <Image Grid.Column="2" Grid.Row="2" x:Name="RbtnFoodQuality2" Source="radio_button.png" HeightRequest="10" WidthRequest="10">
                                                <Image.GestureRecognizers>
                                                    <TapGestureRecognizer Tapped="RbtnFoodQuality2Tapped" NumberOfTapsRequired="1"/>
                                                </Image.GestureRecognizers>
                                            </Image>
                                            <Image Grid.Column="3" Grid.Row="2" x:Name="RbtnFoodQuality3" Source="radio_button.png" HeightRequest="10" WidthRequest="10">
                                                <Image.GestureRecognizers>
                                                    <TapGestureRecognizer Tapped="RbtnFoodQuality3Tapped" NumberOfTapsRequired="1"/>
                                                </Image.GestureRecognizers>
                                            </Image>
                                            <Image Grid.Column="4" Grid.Row="2" x:Name="RbtnFoodQuality4" Source="radio_button.png" HeightRequest="10" WidthRequest="10">
                                                <Image.GestureRecognizers>
                                                    <TapGestureRecognizer Tapped="RbtnFoodQuality4Tapped" NumberOfTapsRequired="1"/>
                                                </Image.GestureRecognizers>
                                            </Image>
                                            <Image Grid.Column="5" Grid.Row="2" x:Name="RbtnFoodQuality5" Source="radio_button.png" HeightRequest="10" WidthRequest="10">
                                                <Image.GestureRecognizers>
                                                    <TapGestureRecognizer Tapped="RbtnFoodQuality5Tapped" NumberOfTapsRequired="1"/>
                                                </Image.GestureRecognizers>
                                            </Image>
                                            <Label Grid.Column="6" Grid.Row="2" Text="Good" VerticalTextAlignment="Center" HorizontalTextAlignment="Start" FontFamily="SF-UI-Text-Regular" FontSize="15"/>
                                        </Grid>
                                    </StackLayout> 

Теперь я должен динамически обрабатывать событие Tapped для каждого элемента управления. Возможно ли это, если я использую viewcell и привязываю его?

Или каким-либо другим способом добиться такого рода функциональности и пользовательского интерфейса? Feedback

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...