如何在Xamarin中使用ControlTemplate将文本居中到RadioButton

qvk1mo1f  于 2022-12-07  发布在  其他
关注(0)|答案(1)|浏览(145)

我尝试使用ControlTemplate制作一个没有小圆圈的自定义RadioButton,但现在我无法将文本居中,如何居中,我正在尝试使用我能想到的每一种方法。

我尝试使用的ControlTemplate的代码

<ControlTemplate x:Key="RadioButtonTemplate">
               <Frame
                    Padding="0"
                    BackgroundColor="#D9D9D9"
                    BorderColor="#877373"
                    HasShadow="False"
                    HeightRequest="100"
                    HorizontalOptions="Center"
                    VerticalOptions="Center"
                    WidthRequest="400"
                    CornerRadius="20"
                    >
                    <Grid Margin="4" WidthRequest="240">
                       Here is a small code that hides the circles
                    </Grid>
                    <VisualStateManager.VisualStateGroups>
                        <VisualStateGroupList>
                            <VisualStateGroup x:Name="CheckedStates">
                                <VisualState x:Name="Checked">
                                    <VisualState.Setters>
                                        <Setter Property="BorderColor" Value="#df6e57" />
                                        <Setter Property="Padding" Value="5"/>
                                        <Setter Property="VerticalOptions" Value="Center"/>
                                        <Setter Property="HorizontalOptions" Value="Center"/>
                                        <Setter TargetName="Check" Property="Opacity" Value="1" />
                                    </VisualState.Setters>
                                </VisualState>
                                <VisualState x:Name="Unchecked">
                                    <VisualState.Setters>
                                        <Setter Property="BorderColor" Value="#F3F2F1" />
                                        <Setter Property="Padding" Value="5"/>
                                        <Setter Property="VerticalOptions" Value="Center"/>
                                        <Setter Property="HorizontalOptions" Value="Center"/>
                                        <Setter TargetName="Check" Property="Opacity" Value="0" />
                                    </VisualState.Setters>
                                </VisualState>
                            </VisualStateGroup>
                        </VisualStateGroupList>
                    </VisualStateManager.VisualStateGroups>
                </Frame>
            </ControlTemplate>
tez616oj

tez616oj1#

您可以查看文档。您可以这样设置它:

<RadioButton>
            <RadioButton.Content>
                <StackLayout>
                    <Label Text="xxx"
                           HorizontalOptions="Center"
                           VerticalOptions="CenterAndExpand" />
                </StackLayout>
            </RadioButton.Content>
        </RadioButton>

相关问题