You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

哪个.NET版本集成了修复RadioButton间距的MAUI PR#8292修复?

.NET MAUI RadioButton间距问题修复版本及解决方案
  • 你提到的PR#8292(修复RadioButton默认模板)首次集成在.NET 8正式版中,.NET 7版本并未包含这个修复。

针对当前.NET 7环境的解决方案

方案1:升级到.NET 8

Visual Studio for Mac 2022需要更新到17.6及以上版本才能支持.NET 8正式版。升级步骤:

  1. 打开Visual Studio for Mac,通过菜单栏的Visual Studio > Check for Updates完成IDE升级
  2. 安装.NET 8 SDK(IDE更新时通常会自动提示安装,也可手动获取)
  3. 右键你的MAUI项目,选择Properties > Application > Target framework,切换为.NET 8.0

方案2:手动自定义ControlTemplate(无需升级)

如果暂时无法升级,可通过自定义RadioButton的模板来修复间距问题,示例代码如下:

<ContentPage.Resources>
    <ControlTemplate x:Key="FixedRadioButtonTemplate">
        <Border
            BackgroundColor="Transparent"
            Stroke="{TemplateBinding Stroke}"
            StrokeThickness="{TemplateBinding StrokeThickness}"
            StrokeShape="{TemplateBinding StrokeShape}"
            Padding="4">
            <Grid ColumnDefinitions="Auto,*"
                  VerticalOptions="Center"
                  HorizontalOptions="Start">
                <Ellipse
                    x:Name="CheckOuterCircle"
                    WidthRequest="20"
                    HeightRequest="20"
                    Fill="{TemplateBinding Color}"
                    Stroke="{TemplateBinding Stroke}"
                    StrokeThickness="2"
                    Margin="0,0,8,0"/> <!-- 调整此处Margin控制按钮与文本的间距 -->
                <Ellipse
                    x:Name="CheckInnerCircle"
                    WidthRequest="10"
                    HeightRequest="10"
                    Fill="{TemplateBinding Stroke}"
                    IsVisible="False"
                    Margin="0,0,8,0"/>
                <Label
                    Grid.Column="1"
                    Text="{TemplateBinding Content}"
                    FontAttributes="{TemplateBinding FontAttributes}"
                    FontSize="{TemplateBinding FontSize}"
                    TextColor="{TemplateBinding TextColor}"
                    VerticalOptions="Center"/>
            </Grid>
        </Border>
    </ControlTemplate>
</ContentPage.Resources>

<!-- 使用自定义模板 -->
<RadioButton Content="选项1" ControlTemplate="{StaticResource FixedRadioButtonTemplate}"/>
<RadioButton Content="选项2" ControlTemplate="{StaticResource FixedRadioButtonTemplate}"/>

你可以根据需求调整模板中Ellipse的Margin值,修正按钮与文本之间的间距问题。

内容的提问来源于stack exchange,提问作者Derek Mitchell

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 01:22:42