有没有办法为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的设置。我只想为整个表单全局设置一次。这可能吗?
答案 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>