Как можно заставить валидацию WPF работать в MAF?

У меня есть несколько исполняемых проектов WPF, которые используют MVVM. Модели представления реализуют 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 ответов

Другие вопросы по тегам