C# WPF TextBox MaxLength属性在应用某些样式后不起作用

C# WPF TextBox MaxLength属性在应用某些样式后不起作用,c#,.net,wpf,xaml,textbox,C#,.net,Wpf,Xaml,Textbox,我的C代码有问题。你能帮帮我吗?我有一个带有此类XAML代码的文本框: <TextBox Margin="0,10" x:Name="SomeName" TextAlignment="Center" FontWeight="Bold" Focusable="True" MaxLength=&q

我的C代码有问题。你能帮帮我吗?我有一个带有此类XAML代码的文本框:

<TextBox 
        Margin="0,10" 
        x:Name="SomeName"
        TextAlignment="Center"
        FontWeight="Bold"
        Focusable="True"
        MaxLength="100"
        Width="200"
        Style="{StaticResource SomeStyle}"
        Text="{Binding PropName, UpdateSourceTrigger=PropertyChanged}" />

更新

以下是我的SomeStyle代码:

    <Style x:Key="SomeStyle" TargetType="{x:Type TextBox}" >
    <Setter Property="Focusable" Value="False" />
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="{x:Type TextBox}">
                <Border BorderBrush="{TemplateBinding BorderBrush}" 
                        Background="{TemplateBinding Background}" >
                    <Grid ClipToBounds="True" >
                        <TextBox Text="{Binding Path=Text, RelativeSource={RelativeSource TemplatedParent}, 
                                                Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
                                 Panel.ZIndex="2" />

                        <TextBox Text="{TemplateBinding Tag}" Background="{TemplateBinding Background}" Panel.ZIndex="1">
                            <TextBox.Style>
                                <Style TargetType="{x:Type TextBox}">
                                    <Setter Property="FontStyle" Value="Italic" />
                                    <Setter Property="BorderThickness" Value="0" />
                                    <Style.Triggers>
                                        <DataTrigger Binding="{Binding Path=Text, Source={x:Reference textSource}}" Value="">
                                        </DataTrigger>
                                        <Trigger Property="IsMouseOver" Value="True">
                                            <Setter Property="BorderThickness" Value="0" />
                                            <Setter Property="BorderBrush" Value="Transparent" />
                                        </Trigger>
                                    </Style.Triggers>
                                </Style>
                            </TextBox.Style>
                        </TextBox>
                    </Grid>
                </Border>
                <ControlTemplate.Triggers>
                    <Trigger Property="IsMouseOver" Value="True">
                        <!--<Setter Property="BorderBrush" Value="Transparent" />-->
                    </Trigger>
                </ControlTemplate.Triggers>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>


如果移除样式道具,MaxLength道具将正常工作。此引用样式不包含MaxLength的约束。有什么想法吗?

您的文本框控件模板中有其他文本框,但您没有将MaxLength值传递给它们,因此它不起作用。您想用此模板做什么?

显示您的SomeStyleplease@Lana,更新后的alreadyit也用于其他文本框,我不需要constraintit's ok,它们将获得默认值并忽略它。您应该通过TemplateBinding传递此属性,并将其作为TemplateBinding帮助我传递。非常感谢你!!!