Usuń czerwony prostokąt wokół combobox

Muszę usunąć czerwony prostokąt wokół comboboxu. Mam ustawiony combobox w xaml jak (poniżej) to i próbuję nadpisać walidację.Błąd.

        <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>

I style do usuwania czerwonego prostokąta, ale mają jakiś błąd w xaml mówiący, że właściwość Visibility nie jest rozpoznawana lub nie jest dostępna. Definicja stylu znajduje się poniżej.

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

Jakiś pomysł? :(
Author: Fredrik Hedblad, 2010-11-09

3 answers

Użyj tego, aby zmodyfikować walidację.ErrorTemplate

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

A następnie użyj go w swoim ComboBox jak

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

Aby nie mieć wskazań błędu walidacji, usuń panel DockPanel, Ustaw widoczność na Zwinięty lub w inny sposób.

Prawie zapomniałem, prawdopodobnie najprostszym sposobem na usunięcie "Czerwonej obwódki"

<ComboBox Validation.ErrorTemplate="{x:Null}"
          ...>
 81
Author: Fredrik Hedblad,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-04-14 14:42:13

Dodaj swój Combobox, Walidacja.ErrorTemplate= "{x: Null} " ; ten kod to ignoruj błędy.

 1
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-12-07 06:58:36

Ustawiacz w wyzwalaczu ustawia właściwość Visibility elementu o nazwie "NotValid". Nie jest to zdefiniowane w opublikowanym przez Ciebie XAML. Jeśli nie ma elementu o nazwie "NotValid", to jest Twój problem.

 -1
Author: John Myczek,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-11-09 16:29:05