如何在MAF下进行WPF验证?

时间:2016-02-05 09:00:47

标签: wpf validation idataerrorinfo maf errortemplate

我有许多利用MVVM的WPF可执行项目。视图模型实现INotifyDataErrorInfo。当这些WPF应用程序以标准方式运行时,验证按预期工作 - 显示默认的红色边框,并通过触发器更新工具提示错误详细信息。 XAML:

<TextBox Text="{Binding TextBox1Message, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}">
    <TextBox.Style>
        <Style TargetType="{x:Type TextBox}">
            <Style.Triggers>
                <Trigger Property="Validation.HasError" Value="true">
                    <Setter Property="ToolTip" Value="{Binding RelativeSource={x:Static RelativeSource.Self}, Path=(Validation.Errors)[0].ErrorContent}"/>
                </Trigger>
         </Style.Triggers>
     </Style>
   </TextBox.Style>
</TextBox>

这些WPF应用程序也是MAF体系结构(https://msdn.microsoft.com/en-us/library/bb384200(v=vs.110).aspx)定义的加载项,并由主机应用程序使用。每个加载项都为主机提供内容控件,主机在其主窗口中显示该内容控件。 WPF应用程序继续正常工作,除非它由另一个进程中的窗口托管。

关于这一点的奇怪之处在于,当托管应用程序时,验证边框不会显示;但是,工具提示按预期工作。

为什么当WPF应用程序在MAF环境中运行时,验证边框无法按预期工作?

0 个答案:

没有答案