Подтвердить что ты не робот

Удалить красный прямоугольник вокруг combobox

Мне нужно удалить красный прямоугольник вокруг combobox. У меня есть настройка combobox в xaml, как (ниже), и я пытаюсь переопределить шаблон Validation.ErrorTemplate.

        <ComboBox x:Name="comboPodkategoria" 
                            Margin="0,3,0,0"
                            IsSynchronizedWithCurrentItem="False" 
                            IsEditable="False"
                            ItemsSource="{Binding Source={StaticResource PodKategoriaLookup}, UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=True}"
                            SelectedValue="{Binding IDPodKategoria}"
                            DisplayMemberPath="kat_popis" SelectedValuePath="IDPodkat" TabIndex="5" Style="{StaticResource combostyle}">
                            <Validation.ErrorTemplate>
                                <ControlTemplate>
                                </ControlTemplate>
                            </Validation.ErrorTemplate> 
            </ComboBox>

И стиль для удаления красного прямоугольника, но есть некоторая ошибка в xaml, говорящая, что свойство Visibility не распознается или недоступно. Определение стиля приведено ниже.

<Style x:Key="combostyle">
<Style.Triggers>
    <Trigger Property="Validation.HasError" Value="True">
        <Setter Property="Visibility" TargetName="NotValid" Value="Visible"/>
    </Trigger>  
</Style.Triggers>   

Любая идея?: (

4b9b3361

Ответ 1

Используйте это, чтобы изменить параметр Validation.ErrorTemplate

<ControlTemplate x:Key="ComboBoxValidationErrorTemplate">
    <DockPanel>
        <Border BorderBrush="Blue" BorderThickness="4">
            <AdornedElementPlaceholder />
        </Border>
    </DockPanel>
</ControlTemplate>

И затем используйте его в своем ComboBox, например

<ComboBox Validation.ErrorTemplate="{StaticResource ComboBoxValidationErrorTemplate}"
          ...>

Чтобы не иметь признаков ошибки проверки, удалите DockPanel, установите Visibility to Collapsed или любой другой способ, который вам нравится.

Почти забыл, возможно, самый простой способ удалить "Красную границу"

<ComboBox Validation.ErrorTemplate="{x:Null}"
          ...>

Ответ 2

Добавьте свой Combobox, Validation.ErrorTemplate = "{x: Null}" ; этот код игнорирует ошибки.

Ответ 3

Установщик в вашем триггере устанавливает свойство Видимость элемента с именем "NotValid". Это не определено в опубликованном вами XAML. Если нет элемента с именем "NotValid", это ваша проблема.