Xaamrin窗体的下划线时BoxView宽度太长

Geo*_* Jr 2 label underline width xamarin.forms stacklayout

我正在使用BoxView完成我的应用程序中的下划线。我有几个非常短的标签-诸如“是”或“否”之类的文本。这是其中一个带有BoxView的标签的XAML下划线:

<StackLayout Orientation="Vertical" Grid.Row="5" Grid.Column="1" Margin="0,4,0,4" HorizontalOptions="Start" BackgroundColor="Purple" MinimumWidthRequest="1">
    <Label x:Name="txtUseMetric" TextColor="Blue" FontSize="Small" Text="{Binding UseMetricText}" BackgroundColor="Yellow">
    <Label.GestureRecognizers>
        <TapGestureRecognizer Tapped="Value_Tapped" CommandParameter="usemetric" />
    </Label.GestureRecognizers>
    </Label>
    <BoxView BackgroundColor="Green" HeightRequest="1" MinimumWidthRequest="1" />
</StackLayout>
Run Code Online (Sandbox Code Playgroud)

我的问题是BoxView的宽度始终超出我尝试覆盖App.Xaml文件中的MinWidthRequest的文本,如下所示:

<Style TargetType="BoxView">
    <Setter Property="MinimumWidthRequest" Value="3" />
</Style>
Run Code Online (Sandbox Code Playgroud)

但这没有效果。我提供了屏幕截图供您查看。

仅供参考-黄色是标签的宽度。您不会看到任何紫色(StackLayout的背景色),因为StackLayout和Label的宽度相同。第二个屏幕快照显示了如果删除BoxView,屏幕的外观-即Label和StackLayout的大小正确。

对于如何解决这个问题,有任何的建议吗?

BoxView太长的屏幕截图,使标签和StackLayout太长 BoxView太长的屏幕截图

屏幕截图删除了BoxView,并且正确调整了标签和堆栈布局 在此处输入图片说明

Ben*_*enl 5

请注意默认的Horizo​​ntalOptions并且Label派生自View:

默认值为LayoutOptions。除非另有说明,否则填写

HorizontalOptions="Start"在“使用指标”标签上添加:

<Label x:Name="txtUseMetric" TextColor="Blue" FontSize="Small" 
       Text="{Binding UseMetricText}" BackgroundColor="Yellow"
       HorizontalOptions="Start">
<BoxView BackgroundColor="Green" HeightRequest="1" 
         WidthRequest="{Binding Path=Width, Source={x:Reference txtUseMetric}" 
         HorizontalOptions="Start"/>
Run Code Online (Sandbox Code Playgroud)