eliminar rectángulo rojo alrededor de combobox


Necesito eliminar el rectángulo rojo alrededor de combobox. He configurado combobox en xaml como (abajo) esto y estoy tratando de anular la Validación.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>

Y el estilo para eliminar rectángulo rojo, pero tiene algún error en xaml diciendo que la propiedad Visibilidad no se reconoce o no es accesible. La definición de estilo está abajo.

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

Alguna idea? :(

Author: Fredrik Hedblad, 2010-11-09

3 answers

Use esto para modificar la validación.ErrorTemplate

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

Y luego usarlo en su ComboBox como

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

Para no tener ninguna indicación de un Error de validación, elimine el DockPanel, establezca Visibilidad en Colapsado o de cualquier otra manera que desee.

Casi lo olvido, probablemente la forma más fácil de eliminar el"Borde rojo"

<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/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-04-14 14:42:13

Añade tu Combobox, Validación.ErrorTemplate= "{x: Null} " ; este código es ignorar errores.

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

El configurador en su disparador está configurando la propiedad Visibility de un elemento llamado "NotValid". Eso no está definido en el XAML que publicaste. Si no hay ningún elemento llamado "NotValid", ese es su problema.

 -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/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-11-09 16:29:05