0

TextBox在我的应用程序中使用了 10,并且在同一个应用程序中我定义了它的样式,App.xaml它适用于我的应用程序中的所有文本框。如何禁用申请单的样式TextBox

任何人都可以帮助我解决这个问题。

我使用下面的代码来设置样式

<Style TargetType="{x:Type TextBox}">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="{x:Type TextBox}">
                <Border Background="White" 
                    x:Name="Bd" BorderBrush="#FF50729f" CornerRadius="3"
                    BorderThickness="1"
                >
                    <ScrollViewer x:Name="PART_ContentHost"/>
                </Border>
                <ControlTemplate.Triggers>
                    <Trigger Property="IsEnabled" Value="False">
                        <Setter Property="Background" TargetName="Bd" Value="#FFe0dfe3"/>
                        <Setter Property="BorderBrush" TargetName="Bd" Value="#FF9da3ab"/>
                    </Trigger>
                </ControlTemplate.Triggers>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
    <Setter Property="Validation.ErrorTemplate">
        <Setter.Value>
            <ControlTemplate>
                <Border BorderBrush="#FFd22c2c" BorderThickness="1" 
                                Background="#FFfce8e8" CornerRadius="3" >
                    <AdornedElementPlaceholder></AdornedElementPlaceholder>
                </Border>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
    <Style.Triggers>
        <Trigger Property="IsEnabled" Value="False">
            <Setter Property="Background"  Value="#FFe0dfe3"/>
            <Setter Property="BorderBrush" Value="#FF9da3ab"/>
        </Trigger>
        <Trigger Property="Validation.HasError" Value="true">
            <Setter Property="ToolTip"
            Value="{Binding RelativeSource={RelativeSource Self},
            Path=(Validation.Errors)[0].ErrorContent}"/>
        </Trigger>
    </Style.Triggers>
</Style>
4

2 回答 2

2

如果您只想要默认样式,那么

<TextBox Style="{x:Null}"/>

否则Cédric Bignon定义目标类型的答案(如下所示)将完成这项工作。您的应用程序 TextBoxStyle 不会继承任何属性

    <TextBox>
        <TextBox.Style>
            <Style TargetType="{x:Type TextBox}">
               <!-- your setters-->
            </Style>
        </TextBox.Style>
    </TextBox>

如果您想稍微更改默认应用程序样式,请使用以下技术,您可以在您的样式中重新定义您希望与默认不同的属性或定义其他属性

     <TextBox>
        <TextBox.Style>
            <Style TargetType="{x:Type TextBox}" BasedOn="{StaticResource {x:Type TextBox}}">
             <!-- your setters-->
            </Style>
        </TextBox.Style>
    </TextBox>
于 2013-02-01T12:19:23.270 回答
1

只需使用空样式:

<TextBox>
    <TextBox.Style>
        <Style>

        </Style>
    </TextBox.Style>
</TextBox>
于 2013-02-01T11:00:56.687 回答