1

我有许多利用 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 环境中运行时,为什么验证边框无法按预期工作?

4

0 回答 0