C# WPF TextBox MaxLength属性在应用某些样式后不起作用
我的C代码有问题。你能帮帮我吗?我有一个带有此类XAML代码的文本框: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
<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帮助我传递。非常感谢你!!!