WPF,为啥自定义的窗体里面不进行数据验证

WPF,为什么自定义的窗体里面不进行数据验证
我做了一个自定义的窗体MyWindow,里面有一个TextBox,其Text属性实行了绑定,并且定义了数据验证。现在的问题是,TextBox并不进行数据验证,也就是说在其中输入非法字符时,其边框并不变成红色。而这一切如果放在默认的Window窗体中,则一切正常,请问这是什么原因呢?
WPF,为啥自定义的窗体里面不进行数据验证

一个名为MyControl的dll类库,包含一个验证规则类和自定义的MyWindow控件:

 public class RangeRule : ValidationRule   //验证规则类
    {
        public override ValidationResult Validate(object value, System.Globalization.CultureInfo cultureInfo)
        {
            return new ValidationResult(false, null);   
        }
    }


自定义的窗体(MyControl):

<ResourceDictionary
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="clr-namespace:MyControl">
    <Style TargetType="{x:Type local:MyWindow}">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type local:MyWindow}">
                    <Border x:Name="windowFrame" BorderBrush="#395984" BorderThickness="1" Background="White">
                        <ContentPresenter/>
                    </Border>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
</ResourceDictionary>


 public class MyWindow : Window
    {
        static MyWindow()
        {
            DefaultStyleKeyProperty.OverrideMetadata(typeof(MyWindow), new FrameworkPropertyMetadata(typeof(MyWindow)));
        }
    }


下面是主程序,引用了上面的MyControl类库:

<xj:MyWindow x:Class="WPF3.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:xj="clr-namespace:MyControl;assembly=MyControl"
        Title="MainWindow" Height="400" Width="605" MinHeight="600" MinWidth="828.8">
    <Grid Width="943">
        <TextBox Name="meizhujiage" Width="50" Height="23" TextAlignment="Center" VerticalAlignment="Center">
            <TextBox.Text>
                <Binding RelativeSource="{RelativeSource Self}" Path="Tag" NotifyOnValidationError="True">
                    <Binding.ValidationRules>
                        <xj:RangeRule/>
                    </Binding.ValidationRules>
                </Binding>
            </TextBox.Text>
        </TextBox>
        <Button Content="Button" HorizontalAlignment="Left" Margin="370,130,0,-107" VerticalAlignment="Top" Width="75"/>
    </Grid>
</xj:MyWindow>


 public partial class MainWindow : MyWindow
    {
        public MainWindow()
        {
            InitializeComponent();
        }
    }

------解决方案--------------------
引用
自定义 Window 控件

若要对多个 Window 控件应用相同的属性设置,请使用 Style 属性。 您可以修改默认的 ControlTemplate,以便为控件提供一个独特的外观。 有关创建 ControlTemplate 的更多信息,请参见 通过创建 ControlTemplate 自定义现有控件的外观。 若要查看特定于 Window 的部件和状态,请参见 Window 样式和模板。