2010-11-09 31 views
30

necesito eliminar el rectángulo rojo alrededor del cuadro combinado. He configurado el cuadro combinado en xaml como (debajo) esto y estoy tratando de anular Validation.ErrorTemplate.eliminar el rectángulo rojo alrededor del cuadro combinado

 <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 estilo para eliminar rectángulo rojo, pero tienen un cierto error en XAML diciendo que la propiedad La visibilidad no es reconocido o no es accesible. La definición del 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? :(

Respuesta

80

utilice esta opción para modificar la Validation.ErrorTemplate

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

Y luego utilizarlo en su ComboBox como

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

para tener ninguna indicación de un error de validación, eliminar DockPanel, configura Visibility to Collapse o de cualquier otra manera que desees.

casi lo olvido, probablemente la forma más fácil de eliminar el "Rojo de la frontera"

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

Perfecto, gracias. La última opción es perfecta para mí, no lo sabía. – vikox

+2

+1 para Validation.ErrorTemplate = "{x: Null}". Estoy experimentando la alegría de un elemento de IU "exactamente correcto". – BSalita

+10

+1 para Validation.ErrorTemplate = "{x: Null}", increíble, gracias. – Mark

-1

El colocador en su desencadenante está configurando la propiedad Visibilidad de un elemento llamado "NotValid". Eso no está definido en el XAML que publicó. Si no hay ningún elemento llamado "NotValid", ese es su problema.

1

Añadir su Combobox, Validation.ErrorTemplate = "{x: Null}"; este código es ignorar errores.

Cuestiones relacionadas