Проблема с проверкой и множественным связыванием - PullRequest
3 голосов
/ 16 июня 2010

В своем приложении WPF я использую следующий xaml: ...

<TextBox
services:TextBoxService.IsFocused="{Binding Path=IsSelected, Mode=OneWay}"
FocusVisualStyle="{x:Null}">
    <MultiBinding
        Converter="{StaticResource mconv_operableToString}" 
        UpdateSourceTrigger="PropertyChanged">
            <Binding 
                Path="Value"
                Mode="TwoWay"
                NotifyOnValidationError="True" />
            <Binding 
                RelativeSource="{RelativeSource FindAncestor, AncestorType={x:Type UserControl}}" 
                Path="DataContext.Status"
                Mode="OneWay" />
     </MultiBinding>

Класс модели представления, в котором первая привязка использует реализацию IDataErrorInfo для целей проверки.Проблема в том, что, хотя ошибка обнаруживается в установщике свойств, пользовательский интерфейс этого не замечает.У меня есть стиль, определенный с помощью шаблона ошибки, который следует применять при возникновении любой ошибки в текстовом поле.Я предполагаю, что, возможно, этот сценарий недопустим с мульти-связыванием, потому что там, где я использую одиночное связывание, все работает отлично.

Заранее спасибо.

1 Ответ

3 голосов
/ 24 июня 2010

Мне кажется, что никто не знает ответа на этот вопрос, но я полагаю, что этот сценарий просто не работает.Я постараюсь ответить на него, если это кому-нибудь понадобится.Я пытался привязать свой View к моему классу View Model, который реализует IDataErrorInfo, в xaml я указал конвертер, и хотя все работало нормально, ошибки просто не отображались в интерфейсе пользователя.Итак, я удалил конвертер из привязки и реализовал эту логику внутри модели представления, и вот, теперь все работает нормально.

...