如何在一个表单中为所有TextBox控件设置Padding =“0”?

时间:2015-06-06 16:04:51

标签: wpf

有没有办法为WPF表单中的所有TextBox控件全局设置属性$(document).ready(function ($) { var obj = liveValidation(); sendEmail(obj); }); function liveValidation() { var name = new LiveValidation('contactFormName'); name.add(Validate.Presence); var email = new LiveValidation('contactFormEmail'); email.add(Validate.Presence); email.add(Validate.Email); var message = new LiveValidation('contactFormMessage'); message.add(Validate.Presence); return name; }; function sendEmail(obj) { var automaticOnSubmit = obj.form.onsubmit; $("#submit").click(function () { var valid = automaticOnSubmit(); if(!valid) { alert('The form is not valid!'); event.preventDefault(); } else { //submi form } }); }

我找到了这篇文章: Set style for all textblocks in a stack panel

但我不想重复每个StackPanel的设置。我只想为整个表单全局设置一次。这可能吗?

1 个答案:

答案 0 :(得分:5)

只需在XAML的资源中创建一个样式。

如果为样式创建键,则需要为每个TextBox编写Style = {}。如果你没有创建样式键,那么无论如何它都适用于所有地方!

<Window.Resources>
    <Style x:Key="textBoxStyle" TargetType="TextBox">
        <Setter Property="Padding" Value="0"/>
    </Style>
</Window.Resources>

<StackPanel>
    <TextBox Style="{StaticResource textBoxStyle}" Text="Hi"/>
</StackPanel>

或者,如果您希望每个TextBox都受到影响:

<Window.Resources>
    <Style TargetType="TextBox">
        <Setter Property="Padding" Value="0"/>
    </Style>
</Window.Resources>

<StackPanel>
    <TextBox Text="Hi"/>
</StackPanel>