Триггер проверки Wpf ComboBox - PullRequest
       0

Триггер проверки Wpf ComboBox

1 голос
/ 29 октября 2010

У меня есть редактируемый выпадающий список, в котором текст связан со свойством объекта.Я связал исключение Validationrule со свойством text, и оно работает, и элемент управления становится красным.Мне также нужно отключить кнопку, но я не могу найти способ проверить validation.haserrors в этом случае

мой XAML для поля со списком

<ComboBox Margin="0,3,0,3"  Width="40" Name="CATCODE" IsEditable="True" >
    <ComboBox.Text>
       <Binding Path="CategoryCode" >
           <Binding.ValidationRules>
                <ExceptionValidationRule >

                </ExceptionValidationRule>
           </Binding.ValidationRules>
       </Binding>
    </ComboBox.Text>
</ComboBox>

Триггер данных

<Style x:Key="DisbleOnValidation"  TargetType="Button">
    <Style.Triggers>
        <DataTrigger Binding="{Binding Path=Validation.HasError, ElementName=CATCODE}" Value="True" >
            <Setter Property="IsEnabled" Value="False"/>
        </DataTrigger>
    </Style.Triggers>
</Style>

1 Ответ

6 голосов
/ 30 октября 2010

Попробуйте изменить путь с Validation.HasError на (Validation.HasError)

<Style x:Key="DisbleOnValidation"  TargetType="Button">
    <Style.Triggers>
        <DataTrigger Binding="{Binding Path=(Validation.HasError), ElementName=CATCODE}" Value="True" >
            <Setter Property="IsEnabled" Value="False"/>
        </DataTrigger>
    </Style.Triggers>
</Style>

При привязке к присоединенным свойствам всегда следует указывать '(' ... ')'. Нравится

{Binding Path=(Grid.Row), ElementName=SomeElement}
{Binding Path=(Canvas.Left), ElementName=SomeOtherElement}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...