UWP无法将文本框的宽度降低到小于70

VD2*_*D26 0 uwp uwp-xaml

我遇到的问题是,如果我将文本框的宽度设置为 70 以下,它将无法完全显示。我已将 设为MinWidth0,但TextBox仍显示为下图中下方的文本框。上面的宽度我设置为70,它完全显示。我需要在模板中更改某些内容才能使其正常工作吗?有任何想法吗?

在此输入图像描述

<TextBox
    Width="30"
    Height="50"
    MinWidth="0" />
Run Code Online (Sandbox Code Playgroud)

我还尝试在 Visual Studio 的设计器中编辑模板TextBox。我单击“编辑模板”,但没有任何反应,但它与其他控件一起工作正常。

我的原始代码:我将第一个文本框的宽度设置为 50,其余设置为 70。

<Grid.ColumnDefinitions>
                    <ColumnDefinition Width="auto" />
                    <ColumnDefinition Width="auto" />
                    <ColumnDefinition Width="auto" />
                    <ColumnDefinition Width="auto" />
                    <ColumnDefinition Width="auto" />
                    <ColumnDefinition Width="auto" />
                </Grid.ColumnDefinitions>
                <Grid Grid.Column="0" Margin="10,0">
                    <controls:DropShadowPanel
                        BlurRadius="40"
                        ShadowOpacity="0.3"
                        Color="{StaticResource blueColor}">
                        <TextBox
                            Width="50"
                            x:Name="Code0"
                            Height="80"
                            MinWidth="0"
                            Background="White"
                            BorderBrush="{StaticResource blueColor}"
                            BorderThickness="1"
                            CornerRadius="10"
                            FontSize="55"
                            TextAlignment="Center" />
                    </controls:DropShadowPanel>
                </Grid>
                <Grid Grid.Column="1" Margin="10,0">
                    <controls:DropShadowPanel
                        BlurRadius="40"
                        ShadowOpacity="0.3"
                        Color="{StaticResource blueColor}">
                        <TextBox
                            Width="70"
                            x:Name="Code1"
                            Height="80"
                            MinWidth="0"
                            Background="White"
                            BorderBrush="{StaticResource blueColor}"
                            BorderThickness="1"
                            CornerRadius="10"
                            FontSize="55"
                            TextAlignment="Center" />
                    </controls:DropShadowPanel>
                </Grid>
                 ...
Run Code Online (Sandbox Code Playgroud)

看起来像这样在此输入图像描述

更新:

<controls:DropShadowPanel
                        BlurRadius="40"
                        Width="80"
                        Background="Red"
                        ShadowOpacity="0.3"
                        Color="{StaticResource blueColor}">
                        <TextBox
                            x:Name="Code0"
                            Width="50"
                            Height="80"
                            MinWidth="0"
                            MaxWidth="65"
                            Background="White"
                            BorderBrush="{StaticResource darkText}"
                            BorderThickness="1"
                            CornerRadius="10"
                            HorizontalContentAlignment="Center"
                            FocusVisualPrimaryBrush="{StaticResource blueColor}"
                            FocusVisualSecondaryBrush="{StaticResource blueColor}"
                            FontSize="55"
                            KeyDown="TwoFactorKeyDown"
                            TextAlignment="Center" />
                    </controls:DropShadowPanel>
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

Nic*_*SFT 5

UWP无法将文本框的宽度降低到小于70

红圈区域是TextBox边框。所以如果你只是MinHeight属性MinWidth, 边框不会改变TextControlThemeMinHeightTextControlThemeMinWidthMinWidthMinWidth

在此输入图像描述

<Border x:Name="BorderElement"
        Background="{TemplateBinding Background}"
        BorderThickness="{TemplateBinding BorderThickness}"
        BorderBrush="{TemplateBinding BorderBrush}"
        CornerRadius="{TemplateBinding CornerRadius}" 
        Grid.ColumnSpan="2" Grid.Column="0" 
        Control.IsTemplateFocusTarget="True" 
        MinHeight="{ThemeResource TextControlThemeMinHeight}" 
        MinWidth="{ThemeResource TextControlThemeMinWidth}"
        Grid.RowSpan="1"
        Grid.Row="1"/>
Run Code Online (Sandbox Code Playgroud)

如果您想完全更改 TextBox 的最小宽度,您可以在页面资源中添加以下内容

<Page.Resources>
    <x:Double x:Key="TextControlThemeMinHeight">32</x:Double>
    <x:Double x:Key="TextControlThemeMinWidth">0</x:Double>
</Page.Resources>
Run Code Online (Sandbox Code Playgroud)