强制 UWP DatePicker 拉伸至整个容器宽度

问题描述 投票:0回答:1

我有一个 DatePicker,其 HorizontalAlignment 设置为 Stretch,但它仅拉伸到某个最大宽度(与蓝色条不同)。

我想要 DatePicker 的三个部分或中间的部分按比例拉伸到任意长度。

我该怎么做?

xaml uwp winui-3 winui
1个回答
0
投票

DatePicker
有一个名为“FlyoutButton”的
Button
,它限制了控件本身的
MaxWidth
。您可以在 Generic.xaml 中找到它。

因此,扩大

MaxWidth
应该有效:

<DatePicker
    Grid.Row="1"
    HorizontalAlignment="Stretch"
    Loaded="DatePickerControl_Loaded">
private void DatePickerControl_Loaded(object sender, Microsoft.UI.Xaml.RoutedEventArgs e)
{
    if ((sender as DatePicker)?
        .FindDescendant<Button>(x => x.Name is "FlyoutButton") is not Button flyoutButton)
    {
        return;
    }

    flyoutButton.MaxWidth = double.PositiveInfinity;
}

顺便说一句,

FindDescendant
扩展方法来自CommunityToolkit.WinUI.ExtensionsNuGet包。

© www.soinside.com 2019 - 2024. All rights reserved.